`sample` <-
structure(list(N = c(0.730372641169133,
1.04248692248414,
-0.231848509511704,
-0.268646982249493,
0.0295236111408053,
-0.594074320986268,
1.12762416694537,
-0.44088754320452 ,
0.279441394844149 ,
-0.0820138919294289 ,
-0.897091814156788,
-1.00922869157279,
0.190774228123099 ,
0.599714593222281,
1.45249177065932,
-1.37619506453316,
0.0836687470153076,
-2.11781306103507 ,
0.0250490621654094,
-2.19520158359481 ,
-0.516693259439262,
1.45137596105479 ,
0.119639129058577 ,
-2.39620843708465 ,
0.385583742264102 ,
-0.33173900522093 ,
1.52581300300733 ,
-0.0815217359350253,
-0.49381853498969 ,
-0.65595998639441 ,
-0.834955175524921,
1.72179590019365 ,
1.73581450128758 ,
-0.644192949041031,
2.07187312109723 ,
0.331933652030256 ,
1.0245862213036 ,
0.00648287817343463 ,
-0.588181254422537 ,
0.449411257047358 ,
-0.339246309986246,
-0.0385780915524108,
-0.760881352014527 ,
0.0773558570537985 ,
-0.00898622207863585,
0.414357000529059 ,
-0.203520479052287,
0.0569687380811956,
-0.251774159943053,
0.417251132624803 ,
1.85654901174321 ,
-0.700257228165221,
1.43653376978337 ,
1.33622253243547 ,
0.974530166043993 ,
-0.14673517954631 ,
1.10550188855028 ,
2.13679720639128 ,
0.654434073907088 ,
-0.874297935235739,
1.37099268567298 ,
-1.8587540298155 ,
-0.330149614350001,
1.42469245847299 ,
0.0758227059782767,
0.665229079391643 ,
-0.0763281642887543,
-1.30242829191387 ,
-0.316247758734148,
0.904101592164908 ,
0.111311676070227 ,
-0.862082483270795,
-0.189101595012358,
1.01422090796239 ,
-0.40324209779014 ,
-0.325014998976962,
-0.172496365931815,
0.83704771633924 ,
0.880515476351593 ,
0.138803502617828 ,
1.59404722265698 ,
-0.266535215585591,
-1.2059089382651 ,
-0.91030894089629 ,
0.14595069312791 ,
0.739946432057829 ,
0.893947711007375 ,
-0.830589579611972,
-0.778423764329289,
0.180145337058908 ,
0.672108517993512 ,
1.70615978394771 ,
-0.0403733046784318,
-0.923561495237114 ,
-0.211767743666088 ,
0.248375701869312 ,
-0.192228170821743,
0.521103408361036 ,
1.47866800579004 ,
0.00281498236276477,
-0.621141640861271 ,
0.499495257803745 ,
-0.232869908483603,
-0.842550586508336,
-0.732912253062763,
-0.342014020767449,
0.215970668698701 ,
-0.459463372577492,
0.717236370201198 ,
-0.96725297487077 ,
0.736016026552918 ,
0.0987847586601455,
0.702754430951999 ,
1.79831663440103 ,
0.0557994637901807,
0.615794229013941 ,
1.06704264334 ,
0.435223890717852,
-0.136059153865229,
0.500596341155102 ,
0.521962920941804 ,
0.0804624117806162,
-0.508226045903459,
-0.114750628603191,
-0.751467352712464,
1.23129054457624 ,
0.162575015701933 ,
-1.06090570634164 ,
0.268975545176565 ,
-1.45909564742578 ,
0.671198271847539 ,
-0.245526333311985,
-0.176999879006402,
-0.974242598507698,
-1.09687463925192 ,
-0.497622922811386,
-0.690103854816695,
-0.572076005788523,
-0.813469981725258,
0.298309945711205 ,
-0.425314696981207,
-0.804237690005543,
0.304770041939958 ,
-2.79835305585446 ,
2.35561104974055 ,
1.31519947538663 ,
-0.38183053286889 ,
1.05721623722405 ,
-0.945484913921197,
0.955539405039638 )), row.names = c(NA, 150L), class = "data.frame")
myhist=hist(sample$N,col="red",breaks="Sturges")
# Визуально закон распределения похож на нормальный
# Чтобы выдвинуть гипотезу о законе распределения,
# найдём выборочные оценки параметров нормального распределения (mu и сигма):
# Оценкой для mu является выборочное среднее:
m=mean(sample$N)
m
## [1] 0.06798112
# Оценкой для sigma является выборочное среднеквадратичное отклонение:
s=sd(sample$N)
s
## [1] 0.9269959
# можем выдвинуть гипотезу о том, что выборка получена из нормального распределения
# с найденными значениями параметров
# Чтобы визуально оценить, насколько хорошо наша гипотеза согласуется с опытными данными,
# построим кривую плотности нормального распределения с найденными оценками параметров
# и совместим её с построенной гистограммой
# Для масштабирования нам понадобится коэффициент k=n*h, где
# n - число элементов выборки, h - ширина столбца #
n=length(sample$N)
n
## [1] 150
# Для определения ширины столбца h нам нужно узнать число полученных интервалов и их границы
tochki=myhist$breaks
tochki
## [1] -3.0 -2.5 -2.0 -1.5 -1.0 -0.5 0.0 0.5 1.0 1.5 2.0 2.5
# Найдём число точек
M=length(tochki)
M
## [1] 12
# Найдем ширину интервала (здесь число интервалов (в знаменателе на 1 меньше числа точек))
h=(max(tochki)-min(tochki))/(M-1)
h
## [1] 0.5
# Теперь можем подсчитать коэффициент (масштабный множитель)
koeff=n*h
koeff
## [1] 75
# Построим кривую плотности и совместим её с гистограммой
curve(dnorm(x,m,s)*koeff,min(tochki),max(tochki),col="blue",lwd=3,add=TRUE)

# Здесь lwd = length width - толщина линии
# Визуально, гипотеза о нормальности распределения с найденными значениями параметров
# хорошо согласуется с опытными данными
#
# ПРОВЕРИМ ГИПОТЕЗУ ПО КРИТЕРИЮ ХИ-КВАДРАТ
#
# Найдём фактические (ЭМПИРИЧЕСКИЕ) частоты попадания в интервалы
#
ni=myhist$counts
ni
## [1] 1 3 1 7 27 34 31 20 16 7 3
# Проверим, совпадает ли сумма эмпирических частот с объёмом выборки
mysumE=sum(ni)
mysumE
## [1] 150
# Найдём ТЕОРЕТИЧЕСКИЕ частоты попадания в интервалы
for(i in 1:M-1)
{
pi[i]=pnorm(tochki[i+1],m,s)-pnorm(tochki[i],m,s);
print(pi[i]);
}
## numeric(0)
## [1] 0.002333781
## [1] 0.01004487
## [1] 0.03252821
## [1] 0.07926839
## [1] 0.1453911
## [1] 0.2007363
## [1] 0.2086374
## [1] 0.1632451
## [1] 0.09614978
## [1] 0.04262564
## [1] 0.01422131
# Для контроля подсчитаем сумму теоретических вероятностей
mysumT=sum(pi)
mysumT
## [1] 0.9951819
# Вычислим значение критерия Хи-квадрат
# Это - мера отличия эмпирических частот от теоретических
# (в идеале, это значение должно равняться 0) #
myChisq=0
K=length(ni)
for(i in 1:K)
{
chisl=ni[i]-n*pi[i];
chisl=chisl*chisl;
chisl=chisl/(n*pi[i]);
myChisq=myChisq+chisl;
}
print("Вычисленное значение критерия Хи-квадрат = ")
## [1] "Вычисленное значение критерия Хи-квадрат = "
myChisq
## [1] 10.92738
#
# Выясним, насколько велико вычисленное значение критерия Хи-квадрат
# Найдем вероятность превышения этого значения случайной величиной,
# имеющей распределение Хи-квадрат с силой степеней свободы = K-3
fd=K-3
prob=1-pchisq(myChisq,fd)
prob
## [1] 0.2058483