Выбери формат для чтения
Загружаем конспект в формате doc
Это займет всего пару минут! А пока ты можешь прочитать работу в формате Word 👇
Основные методы обработки выборки
1) Наглядное представление свойств выборки для последующего анализа с использованием библиотеки matplotlib (Орисательная статистика)
Пусть дана выборка 5, 3, 7, 10, 5, 5, 2, 10, 7, 2, 7, 7, 4, 2, 4. Объем выборки n= 15.
Если элементы исходной выборки упорядочить по величине, такое представление называется вариационным рядом, если отметить повторяемость каждого элемента, то получится статистический ряд выборки. Количество повторов для данного элемента выборки называют его частотой.
Упорядочив элементы выборки по величине, получим вариационный ряд:
2, 2, 2, 3, 4, 4, 5, 5, 5, 7, 7, 7, 7, 10, 10.
Статистический ряд имеет вид:
Элементы: 2 3 4 5 7 10
Частоты: 3 1 2 3 4 2
Разность R=8 между максимальным и минимальным элементами выборки называется размах выборки.
При большом объеме выборки ее элементы объединяют в группы, представляя результаты опытов в виде группированного статистического ряда. Для этого интервал, содержащий все элементы выборки, разбивается на к непересекающихся интервалов. j интервалы обычно имеют одинаковую длину b = R/k. После того, как интервалы для группировки выбраны, определяют частоты — количество ni, элементов выборки, попавших в i-й интервал (элемент, совпадающий с правой границей интервала, относится к последующему интервалу). Получающийся статистический ряд в верхней строке содержит середины интервалов группировки, а в нижней — частоты ni, (i = 1, 2, ..., к).
Наряду с частотами одновременно подсчитываются также накопленные частоты - сумма nj, j от 1 до i , относительные частоты ni/n и накопленные относительные частоты - сумма по j от 1 до i, отношений nj/n i= 1, 2, ..., к. Полученные результаты сводятся в таблицу, называемую таблицей частот группированной выборки. Группировка выборки вносит погрешность в дальнейшие вычисления, которая растет с уменьшением числа интервалов. В зависимости от объема выборки число интервалов выбирают от 6 до 15.
Пример.
Представить выборку из 55 наблюдений в виде таблицы частот, используя 7 интервалов группировки.
18.3 15.4 17.2 19.2 23.3 18.1 21.9 15.3 16.8 13.2
20.4 16.5 19.7 20.5 14.3 20.1 16.8 14.7 20.8 19.5
15.3 19.3 17.8 16.2 15.7 22.8 21.9 12.5 10.1 21.1
18.3 14.7 14.5 18.5 18.4 13.9 19.1 18.5 20.2 23.8
16.7 20.4 19.5 17.2 19.6 17.8 21.3 17.5 19.4 17.8
13.5 17.8 11.8 18.6 19.1
Размах выборки R= 23,8 - 10,1 = 13,7. Длина интервала группировки b = 13,7/7 = 2. В качестве первого интервала удобно взять интервал 10-12.
Стандартная таблица имеет вид:
Записав в файл Input.txt элементы выборки, программа на Питоне после чтения файла должна вывести на консоль и в файл следующую таблицу.
Гистограммой частот группированной выборки называется функция, постоянная на интервалах группировки и принимающая на каждом из них значения ni/b, i = 1,2, ..., к соответственно. Площадь ступенчатой фигуры над графиком гистограммы равна объему выборки п. Так как значения гистограммы пропорциональны самим частотам, обычно по оси ординат откладывают значения частот ni, а не значения ni/b.
Для построения графиков на Питоне используются функции библиотеки matplotlib.
например, для интервалов выборки из 55 элементов с частотами ni гистограмма строится кодом:
import matplotlib.pyplot as plt
………
x = [10,12,14,16,18,20,22,24]
y = [2,2,4,8,12,16,10,3]
width = 1
plt.bar(x,y, width)
plt.xticks(x)
plt.show()
Полигоном частот называется ломаная с вершинами в точках (хi, ni/b), i= 1,2, ..., к, xi - середины интервалов. Также по оси OY отображаются ni.
Для выборки полигон частот отображается кодом
from matplotlib import mlab
import pylab
x=[11,13,15,17,19,21,23]
y=[2,4,8,12,16,10,3]
pylab.plot (x, y, "-b") # -b - синий цвет
pylab.show()
2) Примеры распределений случайных величин
Дискретная случайная величина принимает лишь дискретный набор значений, которых может быть бесконечно. Обычно указывается таблица значений с соответствующими вероятностями. Примеры.
1. Равномерное распределение. Идеальная игральная кость.
Значения 1 2 3 4 5 6
Вероятности 1/6 1/6 1/6 1/6 1/6 1/6
2. Гипергеометрическое распределение. Вероятности выигрыша в различные лотереи. Пример Спортлото 6 из 49. Имеется N шаров (49) из них n выигрышных (6), покупатель зачеркивает M чисел (6), найти вероятность, что будет угадано m чисел.
Случайная величина m принимает значения от 0 до n с вероятностями:
Остальные величины N,n,M - параметры распределения
Для спортлото:
P(m=6) = 1/ 13983816
P(m=5)=258/13983816= 1/ 54201
P(m=4) = 13545/13983816 = 1/1032
P(m=3)= 246820/13983816 = 1/101
P(m=2)= 1851150/13983816=1/7,5
P(m=1) = 5775588/13983816 = 1/2,4
P(m=0)= 6096454/13983816 = 1/2,2
Чтобы вероятность выигрыша стала больше 1/2 нужно покупать не менее 38 карточек. Карточка стоила 30 коп. Сумма примерно 11,5 руб. Выигрыш составлял за 3 номера 3 руб.
2. Распределение Пуассона. Количество значений величины бесконечно.
Значения X 0 1 2 3 4 …..
Вероятности P0 P1 P2 P3 P4 …
- параметр распределения
Пример. Число голов, забитых в матчах европейских кубков и чемпионатов мира и Европы подчиняется распределению Пуассона. Для немецких клубов и сборной = 2,34 ; для российских 0,76.
Непрерывная случайная величина X может принимать любое значение из вещественного диапазона (a,b), в частности или . Бессмысленно говорить о вероятности P(X=x), ,
можно лишь говорить о вероятности величины X попасть в определенный интервал (x1,x2). Любая случайная величина определяется функцией распределения FX(x)=P(Xb
Плотность распределения:
0. x<=a
pX(x)= 1/(b-a), a<=x<=b
0, x>b
2. Экспоненциальное распределение. Пример. Если взять ядро урана, пролежавшее 4 млрд лет и ядро, только что синтезированное на ускорителе, вероятность, что они распадутся через определенный фиксированный промежуток времени абсолютна одинакова.
Функция распределения:
параметр распределения
Для
import math
# Импортируется один из пакетов Matplotlib
import pylab
# Импортируется пакет со вспомогательными функциями
from matplotlib import mlab
L=1/2
def func (x):
return 1-math.exp(-L*x)
# Интервал изменения переменной по оси X
xmin = 0.0
xmax = 10.0
# Шаг между точками
dx = 0.01
# список координат по оси X на отрезке [-xmin; xmax], включая концы
xlist = mlab.frange (xmin, xmax, dx)
# Вычислим значение функции в заданных точках
ylist = [func (x) for x in xlist]
# сам график
pylab.plot (xlist, ylist)
# окно с нарисованным графиком
pylab.show()
Плотность распределения:
, x>=0
Для
3. Нормальное распределение. Пример распределение людей по росту. Нормальных распределений существенно больше, чем остальных. Объяснение - несколько вариантов центральных предельных теорем. Если некоторая величина может быть представлена в виде суммы большого числа слагаемых малых величин произвольно распределенных, то итоговая величина нормально распределена.
На рост влияет множество факторов, каждый вносит небольшой вклад, итог - нормальное распределение.
Функция распределения. Функция распределения не выражается через элементарные функции и может быть записана через интеграл от плотности:
Функцию распределения с параметрами a, можно вычислить через функцию ошибок erf, которая есть в библиотеке math Питона.
Плотность распределения:
, a, - параметры распределения; a - среднее, - стандартное отклонение (квадратный корень из дисперсии).
Для a=2, =2 (дисперсия равна 4)
4. Распределение Парето. Пример. Количество населения в городах, распределение доходов населения.
Одно из объяснений. Пусть X представляет собой некоторый ресурс. Увеличить его на d тем проще, чем исходное значение больше. К миллиону рублей добавить 1000 руб, проще, чем к 5000 руб. те же 1000.
Функция распределения:
параметры
x>xm .
Для k=2,4 ; xm=1,17
Плотность распределения
3) Критерии согласия
Существует множество критериев для проверки, что заданная выборка x1, x2,…xn подчиняется некоторому закону распределения. Они могут использоваться только для определенных законов (экспоненциального, нормального и т.д.) и не пригодны для других Но, существуют два универсальных критерия, позволяющих проверять выборку на любое распределение. Критерий хи-квадрат основан на аппроксимации плотности, критерий Колмогорова-Смирнова на аппроксимации функции распределения.
Общая схема статистических критериев, связанных с выборкой.
1. Выдвигается некоторая гипотеза о чем-нибудь (например, о свойствах выборки).
2. Вычисляется величина Xэ по выборке, определяемая гипотезой.
3. Эта величина случайна и меняется от выборки к выборки. Но по доказанным теоремам для проверяемой гипотезы, вычисленная величина должна при условии истинности гипотезы подчиняться известному распределению FXэ(x).
4. По заданному закону распределения FXэ(x) можно построить интервал (x1,x2), в котором должна оказаться величина Xэ с большой вероятностью называется уровень доверия. Чаще всего .
5. Если реальная Xэ попадает в интервал, то гипотеза принимается (данные не противоречат гипотезе).
6. Если Xэ не попадает в интервал (x1,x2) , гипотеза отвергается на уровне доверия .
7. Если исследователь все же уверен в гипотезе и считает, что не повезло и случайно произошло событие с вероятностью , например, 0,05, то можно увеличить уровень доверия 0,999 , получить более широкий интервал, и, если Xэ не попадает и в этот интервал , то шансы, что гипотеза верна меньше 0,001.
А. Критерий согласия хи-квадрат.
Пусть дана выборка x1,x2,…,xn.
1.41 3.49 2.22 1.06 0.593 2.66 2.71 2.59 2.64 2.66 5.18
1.61 0.83 3 3.21 2.39 2.08 1.79 2.08 3.51 3.17
1.25 1.12 1.09 1.63 1.56 5.29 1.47 1.29 2.11 4.55
3 4.36 2.48 2.78 3.21 1.66 3.02 2.81 3.52 0.929
1.82 4.26 2.17 1.72 1.64 1.91 2.33 1.55 3.18 4.06
5.62 2.15 1.7 1.35 2.86 4.25 1.83 0.72 1.21 2.65
1.59 3.9 2.03 1.08 3.72 1.03 3 2.3 0.755 4.91
1.7 2.11 0.812 1.41 1.32 1.52 1.99 2.41 1.52 1.39
1.91 0.99 1.51 0.3 1.48 1.07 1.39 2.45 0.519 2.76
0.896 1.84 3.1 1.57 2.14 2.64 1.53 0.546 3 1.49
0.993 4.41 0.872 1.58 4.9 3.03 1.18 3.79 0.839 2.89
1.21 0.876 1.82 1.57 1.11 1.38 0.792 3.06 3.49 2.01
8.28 2.51 1.83 3.46 6.49 2.27 7.85 0.599 2.17 0.663
1.58 3.21 2.58 4.04 1.33 4.93 1.05 1.56 1.59 1.36
5.47 0.28 1.6 1.46 2.68 1.51 3.3 3.78 3.7 0.897
1.49 1.03 1.53 2.01 0.201 2.02 1.15 2.89 3.3 1.36
1.42 2.99 3.84 1.9 1.51 1.96 3.96 0.701 7.42 1.56
5.92 1.62 0.8 1.1 1.3 1.83 1.82 5.83 0.103 0.739
6.98 1.35 4.79 2.07 1.37 1.53 1.37 0.987 0.914 1.66
5.04 2.54 1.57 2.5 1.26 1.82 7.88 1.74 6.06 0.334
1.14 3.94 2.12 1.33 3.53 1.73 1.26 2.62 1.52 1.15
2.6 2.73 1.13 2.05 1.31 2.02 1.76 3.19 1.13 2.68
0.803 1.79 1.62 1.87 2.17 0.839 1.07 0.887 1.15 4.26
0.616 2.4 1.4 0.509 3.33 3.58 1.51 1.98 1.98 3.02
5 0.816 2.5 1.67 5.18 2.32 0.818 0.372 1.12 1.52
2.17 3.22 4.18 2.96 2.47 2.57 1.78 1.46 1.07 7.01
4.26 1.89 3.15 0.534 3.08 0.561 2.81 0.765 1.32 2.52
5.66 2.9 0.941 2.6 2.75 2.89 1.53 3.78 0.331 0.936
3.39 1.19 1.19 1.56 1.77 2.06 0.961 0.954 2.44 1.53
1.74 0.797 4.23 0.687 2.75 1.15 0.85 0.35 2.08
n=300
1. Предположим, что эта выборка из какого-нибудь заданного распределения.
Для экспоненциального распределения оценим параметр . Оценка параметра:
, обратное значение от оценки среднего
Если предположить, что выборка из распределения Парето, то нужно оценить 2 параметра.
- параметры.
Оценки выполняются по формулам:
В случае предположения о нормальном распределении
нужно оценить среднее и стандартное отклонение a, (квадратный корень из дисперсии).
оценка среднего
2. Построим гистограмму распределение выборки и сравним с графиком теоретических вероятностей для каждого распределения.
Найдем размах выборки и округлим до целых для удобства вычислений. Min=0; Max=9;
Число интервалов разбиения k приближенно вычисляется . Пусть k=15 Вычислим
h=(Max-Min)/k=0,6
Построим гистограмму по выборке - массив:
Hist=np.zeros((k),dtype=np.int32)
Hist[i] вычисляется как количество элементов из выборки попавших в интервал [Min+hi; Min+h(i+1),
i=0,k-1
Теперь можно построить гистограмму
x=[]
z=0
i=0
while i30 распределение хорошо аппроксимируется выражением:
p = np.array([0.99, 0.95, 0.75, 0.5, 0.25, 0.05, 0.01])
yp=np.zeros((7),dtype=np.float)
df=np.zeros((7),dtype=np.float)
for i in range(0,7):
yp[i]=0.5*math.log(1/(1-p[i]))
yp[i]=math.sqrt(yp[i])
for i in range(0,7):
df[i]=yp[i]-n**(-0.5)/6.0
for i in range(0,7):
df[i]=math.floor(df[i]*100)/100
print(p)
print(df)
V1=0,05
V2=0,04
слишком хорошо, был бы эксперимент - фальшивка, подгонка данных.
4) Доверительные интервалы для среднего и дисперсии в случае нормального закона распределения
Пусть x1, ..., хп — выборка п наблюдений случайной величины X, которая имеет нормальное распределение N(a, 2). В качестве оценки неизвестного истинного среднего a возьмем выборочное среднее х.
Доверительным интервалом для неизвестного среднего a называется интервал (x1,x2), в котором истинное значение a будет находится с заданной вероятностью p=, p называется доверительной вероятностью, а - уровнем значимости. Обычно p задано: 0,9; 0,95; 0,99.
При повышении p увеличивается точность оценки интервала a, но при этом увеличивается ширина интервала.
Предположим, что дисперсия генеральной совокупности 2 известна. Тогда доверительный интервал рассчитывается по нормальному закону, но этот случай нереальный и не рассматривается.
Если же истинное значение дисперсии неизвестно, оно заменяется ее оценкой
оценка среднего
s-стандартное отклонение, равное квадратному корну из s2.
тогда доверительный интервал рассчитывается с использованием распределения Стьюдента
Доверительный интервал равен:
Для выборки из 300 элементов предыдущего пункта после чтения из файла и оценок среднего и стандартного отклонения вычисляется tcr =для =0,95 уровень доверия и вычисляется доверительный интервал для неизвестного истинного среднего a
s - оценка среднего, Sg - сандартного отклонения
alfa=0.05 # уровень значимости 1-
m=n-1 # число степеней свободы
t=stats.t(m)
tcr=t.ppf(1-alfa/2)# критическое значение t распределения
x1=s-Sg/math.sqrt(n)*tcr
x2=s+Sg/math.sqrt(n)*tcr
x1=math.floor(x1*1000)/1000 # округление
x2=math.floor(x2*1000)/1000
print(x1,x2)
Истинное значение среднее a находится в интервале (1,768; 2,69) с вероятностью 0,95
При = 0,99 инрервал равен (1,685;2,373) в нем a находится с вероятностью 0,99
Иногда требуется не только оценить дисперсию, но и построить дя нее доверительный интервал, т.е. интервал, в который попадает истинное значение дисперсии с заданной вероятностью.
При этом будем рассматривать только случай, когда истинное среднее a неизвестно и имеется лишь ее оценка Для рассматриваемой выборки =2,02
Аналогично истинная дисперсия неизвестна и имеется лишь ее оценка оценка среднего
Величина имеет распределение хи-квадрат с n-1 степенями свободы.
Пусть уровень доверия =0.95, тогда доверительный интервал для неизвестной дисперсии имеет вид:
(,)
для выборки число степеней свободы n-1 =29, оценка дисперсии s2=2,3
from scipy.stats import chi2
p = np.array([0.995,0.99, 0.95, 0.05, 0.01,0.005])
df = np.array(range(299, 300)).reshape(-1,1)
t= chi2.isf(p,df)
for i in range (0,6):
t[0,i]=math.floor(t[0,i]*1000)/1000
print (p)
print (t) # значения хи-квадрат
x1=(n-1)*Sg/t[0,5] # 0,005
x2=(n-1)*Sg/t[0,0] # 0,995
x1=math.floor(x1*1000)/1000
x2=math.floor(x2*1000)/1000
print(x1,x2)
Истинное значение дисперсии попадает в интервал (1,88;2,868) с вероятностью 0,95