Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Проведение статистических расчетов в Scilab



 

Цель работы: научиться использовать математическое моделирование при решении простых статистических задач.

 

Порядок выполнения:

1. Подготовка исходных данных и ограничения модели.

2. Интерпретация моделей Scilab.

3. Решение моделей и анализ результатов.

4. Вывод.

Основные теоретические сведения, используемые в работе

 

Амплитуда распределения случайных величин.

 

С помощью команды strange.

Синтаксис

[r]=strange(x)

[r]=strange(x,'r')

(или [r]=strange(x,1) )

[r]=strange(x,'c')

(или [r]=strange(x,2) )

Параметры

x:действительный или комплексный вектор (матрица)

Команда [r]=strange(x)

Возвращает расстояние между самым большим и самым маленьким значением матрицы x и определяет размах вектора или матрицы x.

Команда [r]=strange(x,'r')

(или [r]=strange(x,1))

Возвращает вектор – строку размахов по каждому столбцу.

Команда [r]=strange(x,'c') (или [r]=strange(x,2))

Возвращает вектор – столбец размахов по каждой строчке.

Пример

1. x=[2 1 -6 45 0 -2];

r=strange(x)

Результат

: r =

51. // 45-(-6)=51

 

 

Пример

2.

x=[4 3 -7 10 -20];

y=[2 1 -6 45 0 ];

z=[x;y];

r_all=strange(z); // размах всейматрицы

= max(z)-min(z)

r_col=strange(z,"r"); //размах по столбцам

r_row=strange(z,"c"); // размах по строкам

Результат

:

r_all =

65.

r_col =

! 2. 2. 1. 35. 20. !

r_row =

! 30. ! // =10-(-20)

! 51. ! // =45-(-6)

 

 

Медиана распределения величин с помощью команды median.

 

Медиана x1/2 делит область изменения x соответственно на 2 интервала, попадания в которые имеют равные вероятности. Геометрический смысл: Выборочной медианой называется значение аргумента, которое делит гистограмму плотности вероятности на две равные части.

 

Синтаксис y=median(x) y=median(x,'r') y=median(x,'c')

 

Параметры

x : действительный вектор или матрица

y : скаляр или вектор

 

Для вектора или матрицы x, y=median(x) возвращает скаляр y медианы всех значений элементов x. y=median(x,'r') (или y=median(x,1)) является «строковой» медианой. возвращает в качестве каждого элемента вектора-строки y медиану по соответствующему столбцу матрицы x.

 

y=median(x,'c') (или y=median(x,2)) является «столбцовой» медианой и возвращает в качестве каждого элемента вектора-столбца y медиану по соответствующей строке матрицы x.

 

 

На этом рисунке m x является медианой.


Пример. A=[1,2,10;7,7.1,7.01]; histplot(6,A)

 

Результат:

 

y=median(A)

Результат:

y = 7.005

Из рисунка видно, что площадь двух левых столбиков равна площади двух правых

столбиков, что совпадает с полученным нами результатом y=7.005.

 

 

Абсолютное среднее отклонение с помощью команды mad.

 

Абсолютное среднее отклонение вычисляется для набора величин (x 1 ,x 2 ,...,x n )по следующей формуле:

 

 

 где Mx - является выборочным средним, n - число элементов выборки.

 

Синтаксис

s2=mad(x)

s2=mad(x,'r') или s2=mad(x,1)

s2=mad(x,'c') или s2=mad(x,2)

 

Параметры

x : действительный или комплексный вектор или матрица

Если x является вектором, то

s2=(|x 1 -M | +|x 2 -M | +|x n -M | ) / n ,

где M=mean(x) - среднее арифметическое значение.

 

s2=mad(x,'r') (или s2=mad(x,1) ) вычисляет «строковое» среднее отклонение

s2=mad(x,'c') (или s2=mad(x,2) ) вычисляет «столбцовое» среднее отклонение.

 

Пример.

x=[565 6.234 143];

d=mad(x)

 

Результат:

d =

217.948

 

// Для проверки

n=3;

s=abs(x(1)-mean(x))+abs(x(2)-mean(x))+abs(x(3)-mean(x));

s=s/n

 

Результат:

s =

217.948

 

 

Среднее квадратичное отклонение

 


Способ 1.

С помощью команды msd.

Пусть x1,x2, x3, ...xn - случайные величины, n - объем выборки, а xm - выборочное среднее (арифметическое).

Замечание: Выборочное среднее xm может быть получено с помощью команды

m e an ( xm ).

Среднее квадратичное отклонение вычисляется по формуле: y=sqrt(D), где D=((x1- xm) 2 +(x2-xm) 2 +...+(xn-xm) 2 ) / n ; xm =mean(x)

Среднее квадратичное отклонение в пакете Scilab вычисляется по следующей формуле

(для вектора):

 

 

, где n - число элементов и Mx - выборочное среднее.

 

Замечание: Обратите внимание, что результат этой команды отличается от результата,

полученного с помощью команды stdev только нормировкой.

 

Синтаксис

y=msd(x)

y=msd(x,'r') или m=msd(x,1)

y=msd(x,'c') или m =msd(x,2)

 

Параметры

x : действительный или комплексный вектор или матрица

 

"Строковые" и "столбцовые" варианты всех команд устроены аналогично командам mean,

h armean и т. д.

Команда y=msd(x,'r') (или y=msd(x,1) ) вычисляет «строковое» среднеквадратичное (или

“стандартное”)отклонение.

Команда y=msd(x,'c') (или m=msd(x,2) ) вычисляет «столбцовое» средне квадратичное отклонение.

 

Пример.

x=[20 40 30]; m=msd(x) Результат:

m =

8.1649658

 

// Для проверки

xm=mean(x);

n=3; // число элементов вектора x q=(x(1)-xm)^2+(x(2)-xm)^2+(x(3)-xm)^2; w=sqrt(q/n)

 

Результат:

w = 8.1649658

Получили результат, равный m. Следовательно, команда считает правильно.

 

Способ 2.

С помощью команды stdev .

 

Среднее квадратичное отклонение (standard deviation) в пакете Scilab вычисляется по следующей формуле (для вектора):

 

 

, где n - число элементов и Mx - выборочное среднее.

 

Замечания

1) Обратите внимание, что результат этой команды отличается от результата, полученного

с помощью команды msd только нормировкой.

2) В Scilab есть еще команда st_deviation, которая совершенно идентична команде stdev,

как по синтаксису, так и по результату.

 

Синтаксис

s=stdev

s=stdev(x,'r') или m =stdev(x,1)

s=stdev(x,'c') или m =stdev(x,2)

 

Параметры

x : действительный или комплексный вектор или матрица

s: скаляр

 

Команда s=stdev(x,'r') (или s=stdev(x,1) ) является "строковым вариантом".

Команда s=stdev(x,'c') (или s=stdev(x,2)) является "столбцовым" вариантом.

 

Пример.

x=[0.2113249 0.0002211 0.6653811 0.7560439 0.3303271 0.6283918]

n=length(x); // число элементов в x

s=stdev(x)

//для проверки

mx=mean(x);

w=0;

for i = 1:n, w=w+(x(i)-mx)^2;end;

w=sqrt(w/(n-1))

 

Результат:

s =

.2978284

 

w =

.2978284

 

Способ 3.

С помощью команды stdevf .

Среднее отклонение с учетом веса (взвешенное среднее квадратичное отклонение)в пакете

Scilab вычисляется по следующей формуле (для вектора):

 

 

, где x i - набор случайных величин, f i - набор соответствующих им весов, n - число элементов, а Mx =meanf(x,f) - среднее арифметическое с учетом веса.

 

Синтаксис

s=stdevf(x,fre)

s=stdevf(x,fre,'r') или s=stdevf(x,fre,1)

s=stdevf(x,fre,'c') или s=stdevf(x,fre,2)

 

Параметры

x: действительный или комплексный вектор (матрица)

f re: вектор (матрица)того же размера, что и x.

 

Пример.

x=[0.2113249 0.0002211 0.6653811 0.7560439 0.9546254 0.6283918]

fre=[1 2 3 3 4 3]

n=length(x); // число элементов в x s=stdevf(x,fre)

//для проверки

w=0;

for i = 1:n, w=w+fre(i)*(x(i)-meanf(x,fre))^2;end;

w=sqrt(w)/(sum(fre)-1)

 

Результат:

s =

.0800239

 

w =

.0800239


Дисперсия значений вектора или матрицы

 


Способ 1.

С помощью команды variance.

 

Значение дисперсии для вектора случайных величин x=(x 1 , x 2 , ... ,x n ) по формуле:

 

 

Важное замечание:

Обычно в русских учебниках в формулу для дисперсии входит деление не на величину (n-

1), а на величину n.

 

Синтаксис

s=variance(x)

s=variance(x,'r') или m =variance(x,1)

s=variance(x,'c') или m =variance(x,2)

 

Параметры

x : действительный или комплексный вектор (матрица)

 

Команда s=variance(x,'r') (или s=variance(x,1)) является «строковым» вариантом.

Команда s=variance(x,'c') (или s=variance(x,2)) является «столбцовым» вариантом.

 

Пример.

x=[2 0 6 7 4 0.6];

d=variance(x)

 

Результат:

d =

8.2666667

// Для проверки

n=length(x); // число элементов вектора x

mx=mean(x);

y=x-mean(x); w=y^2; w=sum(w)/(n-1)

 

Результат (совпадает со значением d):

w =

8.2666667



Способ 2.

С помощью команды variancef. Эта команда вычисляет дисперсию с учетом веса, если

наблюдаемые значения x неравнорассеяны (неравноточны).

Значение дисперсии для вектора случайных величин x=(x 1 , x 2 , ... ,x n ) с учетом вектора веса

f =(f 1 , f 2 , ... ,f n ) по формуле:

 

 

Синтаксис

s=variancef(x,fre) (или s=variancef(x,fre,'*')) s=variancef(x,fre,'r') (или s=variancef(x,fre,1) ) s=variancef(x,fre,'c') (или s=variancef(x,fre,2) )

 

Параметры

x : действительный или комплексный вектор (матрица)

f re: имеет тот же тип и размер, что и x, и является векирором (матрицей) веса наблюдений.

 

Матрица весов fre должна быть того же типа, что и x. В вычислении учитывается значение вектора (матрицы) соответствующих весов. Почему-то для возможности осуществления счета сумма всех элементов fre (=sum(fre)) должна быть > 1.

 

Замечание:

Если все веса матрицы x равны, т.е. все элементы матрицы fre равны единице, то

результаты выполнения команд variancef и variance будут совпадать.

 

Пример.

x=[2 5 7 1]; fre=[1 1 1 1]; v=variance(x) Результат:

v =

7.5833333

vf=variancef(x,fre)

 

Результат:

vf =

7.5833333 // совпадает с v


Частота встречаемости значения случайной величины

 

С помощью команды tabul.

Синтаксис

[m]=tabul(x)

 

Параметры

x : действительный, комплексный вектор (матрица) или вектор (матрица) из символьных переменных

 

Если x - числовой вектор или матрица, то m: матрица из двух столбцов, в первом из которых содержатся числовые значения вектора x, отсортированные по убыванию (упорядоченный по убыванию вариационный ряд), а во втором содержится целое число, равное тому, как часто повторяется это значение в векторе x. Если элементы x являются символьными, то m - является списком.

 

Пример 1.

x=[2 3 3 4 2 5 4 4 4 5];

t=tabul(x)

 

 

t =

! 5. 2. !

! 4. 4. !

! 3. 2. !

! 2. 2. !

 

Пример 2.

y=["cat" "cat" "dog" "dog" "pig"];

t=tabul(y)

 

Результат:

t =

t(1)

!cat !

! !

!dog !

! !

!pig !

 

t(2)

! 2. !

! 2. !

! 1. !

 


Поделиться:



Последнее изменение этой страницы: 2019-04-10; Просмотров: 791; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.096 с.)
Главная | Случайная страница | Обратная связь