Savelyev_Vyacheslav

Matan2

Apr 10th, 2022 (edited)
1,204
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 19.58 KB | None | 0 0
  1. #!/usr/bin/env python
  2. # coding: utf-8
  3.  
  4. # # Zadan - 2
  5. # Задание №1. В результате опыта была получена выборочная совокупность.
  6. #
  7. # 1.По данной таблице составить интервальный вариационный ряд, разбив всю вариацию на 8-10 интервалов.
  8. # 2.По сгруппированным данным построить:
  9. #   полигон относительных частот;
  10. #   гистограмму относительных частот;
  11. #   график эмпирической функции распределения.
  12. # 3.Найти числовые характеристики выборки: М_О^*,М_е^*,х ̅_в,σ_(в,) s,V^*,a_s^*,ε_k^*.
  13. # 4. Построить:
  14. #   на чертеже гистограммы её теоретический аналог ƒ(x);
  15. #   на чертеже эмпирической функции F*(x) её теоретический аналог F(x).
  16. # 5. По виду гистограммы и эмпирической функции распределения выборки выдвинуть гипотезу о распределении генеральной совокупности.
  17. # 6. Проверить выполнение правил «трёх сигм».
  18. # 7. Применив критерий согласия Пирсона χ2 с заданным уровнем значимости α=0,01, окончательно принять или отвергнуть выдвинутую гипотезу о распределении генеральной совокупности.
  19. # 8. Построить на одном чертеже:
  20. #   полигон относительных частот p_i^* и кривую распределения p_i;
  21. #   гистограмму теоретических вероятностей (относительных частот) p_i и ƒ(x). Сравнить график p_i с графиком идеально нормального распределения, используя значения  a_s^*,ε_k^*.
  22. # 9. Найти доверительные интервалы для генеральной средней и генерального среднего квадратичного отклонения по уровню надёжности γ=0,99.
  23. #
  24.  
  25. # # 1. step
  26.  
  27. # In[2]:
  28.  
  29.  
  30. def p(a):
  31.     print(a)
  32. # set arr
  33. s1 = '60 71 62 57 81 55 59 47 75 56 61 60 63 65 59 61 65 58 76 49 '
  34. s2 = '65 64 59 76 58 52 70 77 67 50 65 53 56 64 55 77 51 61 73 64 '
  35. s3 = '45 53 45 58 57 60 48 71 33 65 50 80 58 67 71 51 51 49 66 63 '
  36. s4 = '67 60 67 61 58 36 75 47 68 63 77 75 62 75 70 75 66 53 63 60 '
  37. s5 = '68 67 55 75 71 59 77 58 65 57 55 28 74 71 47 73 40 45 37 66'
  38. str1 = s1 + s2 + s3 + s4 + s5
  39. str1
  40. #str1 = str1.replace(" ", "")
  41.  
  42. arrInt = []
  43. arrStr = str1.split(' ')
  44. for item in arrStr:
  45.     arrInt.append(int(item.replace(" ", "")))
  46. arrInt_ = arrInt
  47. arrSorted = sorted(arrInt)
  48.  
  49. print(arrInt)
  50. print(arrSorted)
  51. len(arrInt)
  52.  
  53.  
  54. # In[3]:
  55.  
  56.  
  57. def setStepH(start, end):
  58.     h =  (end - start) / 10
  59.     x0 = start - h/2
  60.     return h,x0
  61. h, x0 = setStepH(arrSorted[0],arrSorted[-1])
  62.  
  63. p(x0)
  64. p(h)
  65. p(arrSorted[0])
  66.  
  67.  
  68. # In[4]:
  69.  
  70.  
  71. diapazon = arrSorted[-1] - x0
  72. p(diapazon)
  73.  
  74.  
  75. # In[5]:
  76.  
  77.  
  78. h = 6 # меняем шаг для корректировки захвата диаппазона
  79. x0 = arrSorted[0] - h
  80. arrDiap = []
  81. def setArr(x0,h,arrDiap):
  82.     d1 = [x0, x0 + h]
  83.     for i in range(0,10):
  84.         arrDiap.append([(x0+h*i), x0+h*(i+1)])
  85.     return arrDiap
  86. arrDiap = setArr(x0,h,arrDiap)
  87. print('Колличество диапазонов пара чисел -', len(arrDiap))
  88. print('Границы диапазонов -', arrDiap)
  89. print('Минимальное число массива = ',arrSorted[0])
  90. print('Максимальное число массива = ',arrSorted[-1])
  91.  
  92.  
  93. # In[6]:
  94.  
  95.  
  96. # середина интервала
  97. midlInterval = []
  98. for item in arrDiap:
  99.     midlInterval.append((item[0]+item[1])/2)
  100.  
  101. print('середина интервала -', midlInterval)
  102.  
  103.  
  104. # In[7]:
  105.  
  106.  
  107. korteg = list(arrSorted)
  108. #korteg < 37
  109.  
  110. import numpy as np
  111. import pandas as pd
  112. import math
  113.  
  114.  
  115. dfList = pd.DataFrame(arrSorted, columns =['nums'])
  116. # convert numpy array to dataframe
  117. dfList
  118. def getD(dfList, start, end): # вырезает диапазон от и до
  119.     filtered = dfList.loc[(dfList['nums'] <= end) & (dfList['nums'] > start)]
  120.     return list(filtered['nums'].values)
  121. numPak = []
  122. for item in arrDiap:
  123.     numPak.append(getD(dfList, item[0], item[1]))
  124. numPak
  125.  
  126. chastota = []
  127. for item in numPak:
  128.     chastota.append(len(item))
  129. chastota
  130. print('Частота - ', chastota)
  131. p(sum(chastota))
  132.  
  133.  
  134. # In[8]:
  135.  
  136.  
  137. relateFreq = []
  138. for i in range(0, len(midlInterval)):
  139.     relateFreq.append(chastota[i]/len(arrSorted))
  140. relateFreq
  141. print('Относительная частота - ', relateFreq)    
  142.  
  143.  
  144. # In[9]:
  145.  
  146.  
  147. idl = range(1,len(relateFreq)+1,1)
  148. T1 = zip(idl,arrDiap, midlInterval, chastota, relateFreq, numPak)
  149. dfT1 = pd.DataFrame(T1, columns =['id','интерв', 'серед интервал','част', 'отн част', 'пакет'])
  150. dfT1.set_index(['id'],inplace = True)
  151.  
  152. dfT1
  153.  
  154.  
  155. # # 2 step
  156.  
  157. # In[10]:
  158.  
  159.  
  160. #!pip install matplotlib
  161. #!pip install pyplot
  162. from matplotlib import pyplot as plt
  163. import numpy as np
  164.  
  165.  
  166. # In[ ]:
  167.  
  168.  
  169.  
  170.  
  171.  
  172. # In[11]:
  173.  
  174.  
  175. PperH = []
  176. for item in relateFreq:
  177.     PperH.append( item/h )
  178. print('Ряд p*/h -', PperH)
  179. XhistList = []
  180. d = 0.00001
  181. for item in arrDiap:
  182.     XhistList.append(item[0]+d)
  183.     XhistList.append(item[1]+d)
  184. XhistList_ = sorted(set(XhistList))
  185. print('Ряд X гистограммы', XhistList_)
  186. #dfT1.hist( column='отн част', bins=8, lw=2,  ec="white" )
  187. #plt.show()
  188. n_bins = XhistList_
  189. x = arrSorted
  190. plt.hist(x, n_bins,lw=2,  ec="white", density=True,histtype='bar', facecolor='b',alpha=0.5)
  191. plt.title('Гистограмма',fontweight ="bold", alpha=1)
  192. plt.show()
  193.  
  194.  
  195. # In[12]:
  196.  
  197.  
  198. #p(len(XhistList_))
  199. #p(len(relateFreq))
  200. #XhistList_[1:]
  201. plt.plot(XhistList_[1:], relateFreq)
  202. plt.show()
  203.  
  204.  
  205. # In[13]:
  206.  
  207.  
  208. Fx = []
  209. it = 0
  210. for item in relateFreq:
  211.     Fx.append(it)
  212.     it += item
  213. Fx.append(it)
  214. print('Fx - ', Fx)
  215.  
  216. plt.plot(XhistList_, Fx)
  217.  
  218.  
  219. # In[14]:
  220.  
  221.  
  222. print('Fx плотность распределения - ',Fx)
  223.  
  224.  
  225. # # 3 step
  226.  
  227. # 3.1 3.2
  228.  
  229. # In[58]:
  230.  
  231.  
  232. Mmax = max(PperH)
  233. ind = PperH.index(M1)
  234. ML = PperH[ind-1]
  235. MP = PperH[ind+1]
  236. koef = (Mmax - ML)/((Mmax - ML) + (Mmax - MP))
  237. Mo = h*koef + XhistList_[ind]
  238. print('Мода =', Mo)
  239.  
  240.  
  241. # In[50]:
  242.  
  243.  
  244.  
  245.  
  246.  
  247. MedIAN = []
  248. for i in range(0, len(Fx)-1):
  249.     bool_ = Fx[i]<0.5 and Fx[i+1]>0.5
  250.     if (bool_):
  251.         MedIAN.append(i)
  252.         MedIAN.append(i+1)
  253. # еайдем медиану X и Y
  254. Y = 0.5
  255. k = ( XhistList_[MedIAN[0]] - XhistList_[MedIAN[1]] )  /  ( Fx[MedIAN[0]] - Fx[MedIAN[1]] )
  256. dPlotn = Y - Fx[MedIAN[0]]
  257. dXhistList = dPlotn * k
  258. X =  XhistList_[MedIAN[0]] + dXhistList
  259. print('Координаты медианы = ', X, ' и ', Y)
  260. plt.plot(X, Y, color = "black", marker = "o", linestyle= "--", linewidth = 1, markersize = 10)
  261. plt.plot(XhistList_, Fx)
  262. Moe = [X,Y]
  263. plt.show()
  264.  
  265.  
  266. # 3.3
  267.  
  268. # In[17]:
  269.  
  270.  
  271. xp = []
  272. for i in range(0, len(midlInterval)):
  273.     t = midlInterval[i]*relateFreq[i]
  274.     xp.append(t)
  275. print('xp - ', xp)
  276. x2p = []
  277. for i in range(0, len(midlInterval)):
  278.     t = midlInterval[i]**2*relateFreq[i]
  279.     x2p.append(t)
  280. print('x2p - ', x2p)
  281. x3p = []
  282. for i in range(0, len(midlInterval)):
  283.     t = midlInterval[i]**3*relateFreq[i]
  284.     x3p.append(t)
  285. print('x3p - ', x3p)
  286. x4p = []
  287. for i in range(0, len(midlInterval)):
  288.     t = midlInterval[i]**4*relateFreq[i]
  289.     x4p.append(t)
  290. print('x4p - ', x4p)
  291.  
  292. idl = range(1,len(relateFreq)+1,1)
  293. T1 = zip(idl, midlInterval, chastota, relateFreq, xp,x2p,x3p, x4p)
  294. dfT2 = pd.DataFrame(T1, columns =['id','серед интервал x','част m', 'отн част p','xp','x2p','x3p', 'x4p'])
  295. dfT2.set_index(['id'],inplace = True)
  296.  
  297. dfT2
  298.  
  299.  
  300. # In[18]:
  301.  
  302.  
  303. dfT2.sum()
  304.  
  305.  
  306. # In[19]:
  307.  
  308.  
  309. # выборочное среднее
  310. Xv = dfT2.sum().values[3]
  311. p(Xv)
  312.  
  313.  
  314. # In[20]:
  315.  
  316.  
  317. # выборочную дисперсию по формуле (8)
  318. Dv = dfT2.sum().values[4] - Xv**2
  319. p(Dv)
  320.  
  321.  
  322. # In[21]:
  323.  
  324.  
  325. # выборочное среднее квадратическое отклонение (9):
  326. sigmaV = Dv**0.5
  327. p(sigmaV)
  328.  
  329.  
  330. # In[22]:
  331.  
  332.  
  333. #  исправленную выборочную дисперсию (23):
  334. n = dfT2.sum().values[1]
  335. s2 = n/ (n-1) * Dv
  336. s = s2 ** 0.5
  337. p(s)
  338.  
  339.  
  340. # 3.4
  341.  
  342. # In[23]:
  343.  
  344.  
  345. #4) Для характеристики меры колеблемости изучаемого признака относительно выборочной средней вычислим коэффициент вариации по формуле (12):
  346. V = sigmaV / Xv * 100
  347. print(V,' %')
  348.  
  349.  
  350. # In[24]:
  351.  
  352.  
  353. # Найдём начальные (14) и центральные (15) моменты, используя результаты вспомогательной таблицы:
  354. v1 = dfT2.sum().values[3]
  355. v2 = dfT2.sum().values[4]
  356. v3 = dfT2.sum().values[5]
  357. v4 = dfT2.sum().values[6]
  358. p(v1)
  359. p(v2)
  360. p(v3)
  361. p(v4)
  362.  
  363.  
  364. # In[25]:
  365.  
  366.  
  367. mu3 = 2*v1**3 - 3*v1*v2 + v3
  368. mu4 = v4 - 4*v1*v3 + 6*v1**2 *v2 - 3*v1**4
  369. p(mu3)
  370. p(mu4)
  371.  
  372.  
  373. # In[26]:
  374.  
  375.  
  376. #Выборочный коэффициент асимметрии вычислим по формуле (16):
  377. As = mu3 / sigmaV**3
  378. p(As)
  379.  
  380.  
  381. # In[27]:
  382.  
  383.  
  384. # выборочный коэффициент эксцесса по формуле (17):
  385. ek = mu4 / sigmaV**4 - 3
  386. p(ek)
  387.  
  388.  
  389. # # 4 step
  390.  
  391. # In[28]:
  392.  
  393.  
  394. from sympy import *
  395. from sympy.plotting import plot
  396. from sympy.solvers.inequalities import solve_univariate_inequality
  397. init_printing(use_unicode=False, wrap_line=False, no_global=True)
  398. #x = Symbol('x')
  399. a = Xv
  400. sig = s
  401. #stepen = - (x-a)**2 / ( 2*sig**2 )
  402. #top = 1
  403. #bottom = (2*math.pi)**0.5 * sig
  404. #fx1 = top / bottom * exp(stepen)
  405. #aa = dfT1.hist( column='отн част', bins=8, lw=2,  ec="white" )
  406. #plot(fx1, (x, 0, 110))
  407. ######1
  408. xxx = range(1,120,1)
  409. yyy = []
  410. def GR(x,a,sig,newArr):
  411.     for item in x:
  412.         stepen = - (item-a)**2 / ( 2*sig**2 )
  413.         top = 1
  414.         bottom = (2*math.pi)**0.5 * sig
  415.         inn = top / bottom * exp(stepen)
  416.         newArr.append(inn)
  417. GR(xxx,a,sig,yyy)
  418. plt.plot(xxx, yyy, color = "red", marker = "o", linestyle= "--", linewidth = 1, markersize = 1)
  419. #######2
  420. n_bins = XhistList_
  421. x = arrSorted
  422. plt.hist(x, n_bins,lw=2,  ec="white", density=True,histtype='bar', facecolor='b',alpha=0.5)
  423. plt.title('Гистограмма',fontweight ="bold", alpha=0.5)
  424. #########2
  425. plt.show()
  426.  
  427.  
  428. # In[29]:
  429.  
  430.  
  431. def GetLaplas(L):
  432.     bool_ = df.loc[ (df['х']<abs(L)) ]
  433.     return list(bool_['Ф(х)'])[-1]*L/abs(L)
  434. df = pd.read_excel('Individualnaya_rabota__2_primer_varianty_prilozhenia.xlsx', sheet_name='Table 21', header=0)
  435. df # загрузка таблицы лапласа Ф
  436. a = Xv
  437. sig = s
  438. XhistList_
  439. Ylaplas = []
  440. for item in XhistList_:
  441.     itt = ((item) - a)/sig
  442.     out = 0.5 + GetLaplas(itt)
  443.     #print(itt, GetLaplas(itt))
  444.     Ylaplas.append(out)
  445. Ylaplas
  446. print('X нашей функции - ', XhistList_)
  447. print('Fx по Лапласу - ', Ylaplas)
  448. print('Сигма =', sig)
  449. print('a =', a)
  450.  
  451.  
  452. # In[30]:
  453.  
  454.  
  455. df
  456. plt.plot(XhistList_, Fx)
  457. plt.plot(XhistList_, Ylaplas)
  458. plt.show()
  459.  
  460.  
  461. # # 5 step
  462.  
  463. # По виду гистограммы и функции * F x( ) выдвигаем основную (нулевую) гипотезу H0
  464.  
  465. # «Генеральная совокупность распределена по нормальному закону с параметрами a = 60.64 , Сигма = 11.08053165774014»
  466.  
  467. # # 6 step
  468.  
  469. # Проверим выполнение правила «трёх сигм»:
  470.  
  471. # In[31]:
  472.  
  473.  
  474. Diapazon = [ (a-3*sig), (a+3*sig) ]
  475.  
  476.  
  477. # In[32]:
  478.  
  479.  
  480. print('НАш диапазон - ', arrSorted)
  481. plt.hist(arrSorted, Diapazon)
  482. print('Вывод все значения попали в диапазон')
  483.  
  484.  
  485. # # 7 step
  486.  
  487. # Проверим соответствие выдвинутой гипотезы H0 опытным данным. Для этого необходимо вычислить теоретические вероятности i
  488. # p и выравнивающие частоты m np i i ′ = .
  489.  
  490. # In[33]:
  491.  
  492.  
  493. #Необходимым условием применения критерия Пирсона является наличие в каждом из интервалов не менее 5 наблюдений
  494. idl = range(1,len(relateFreq)+1,1)
  495. T3 = zip(idl,arrDiap, chastota)
  496. dfT3 = pd.DataFrame(T3, columns =['id','интерв','част'])
  497. dfT3.set_index(['id'],inplace = True)
  498. arrDiap_= []; chastota_ =[];
  499.  
  500. arrDiap_ = arrDiap[3:]
  501. arrDiap_[0] = [22,46]
  502. chastota_ = chastota[3:]
  503. chastota_[0] = 8
  504. p(arrDiap_)
  505. p(chastota_)
  506.  
  507.  
  508. # In[34]:
  509.  
  510.  
  511. print('До есть меньше 5')
  512. dfT3
  513.  
  514.  
  515. # In[35]:
  516.  
  517.  
  518. idl = range(1,len(relateFreq)+1,1)
  519. T3_ = zip(idl,arrDiap_, chastota_)
  520. dfT3_ = pd.DataFrame(T3_, columns =['id','интерв','част'])
  521. dfT3_.set_index(['id'],inplace = True)
  522. p('после все больше 5')
  523. p(arrDiap_)
  524. p(chastota_)
  525. dfT3_
  526.  
  527.  
  528. # Искомые вероятности вычисляем по формуле
  529.  
  530. # In[36]:
  531.  
  532.  
  533. def GetLaplas(L):
  534.     bool_ = df.loc[ (df['х']<abs(L)) ]
  535.     #print(bool_)
  536.     return list(bool_['Ф(х)'])[-1]*L/abs(L)
  537. df = pd.read_excel('Individualnaya_rabota__2_primer_varianty_prilozhenia.xlsx', sheet_name='Table 21', header=0)
  538. df # загрузка таблицы лапласа Ф
  539. a = Xv
  540. sig = s
  541.  
  542. XhistListNew = []
  543. d = 0
  544. for item in arrDiap_:
  545.     XhistListNew.append(item[0]+d)
  546.     XhistListNew.append(item[1]+d)
  547. XhistListNew = sorted(set(XhistListNew))
  548.  
  549. YlaplasNew = []
  550. for i in range(1,len(XhistListNew)):
  551.     itt1 = ((XhistListNew[i]) - a)/sig
  552.     itt2 = ((XhistListNew[i-1]) - a)/sig
  553.     out = GetLaplas(itt1) - GetLaplas(itt2)
  554.     YlaplasNew.append(out*100)
  555. YlaplasNew
  556. print('X нашей функции - ', XhistListNew)
  557. print('Fx по Лапласу - ', YlaplasNew)
  558. print('Сигма =', sig)
  559. print('a =', a)
  560.  
  561.  
  562. # Для дальнейших расчётов заполним вспомогательную таблицу:
  563.  
  564. # In[37]:
  565.  
  566.  
  567. last = []
  568. for i in range(0, len(YlaplasNew)):
  569.     dd =  ( chastota_[i] - YlaplasNew[i] )**2 / YlaplasNew[i]
  570.     last.append(dd)
  571. idl = range(1,len(XhistListNew)+1,1)
  572. T4 = zip(idl, arrDiap_, chastota_, YlaplasNew, last)
  573. dfT4 = pd.DataFrame(T4, columns =['id','интерв','част m','теор част p','(m-m)^2 / m'])
  574. dfT4.set_index(['id'],inplace = True)
  575. p('после все больше 5')
  576. p(YlaplasNew)
  577. p(chastota_)
  578. dfT4
  579.  
  580.  
  581. # In[38]:
  582.  
  583.  
  584. Hnabl = sum(last)
  585. print('Hnabl = ',Hnabl)
  586. alf = 0.05
  587. interval = len(XhistListNew)
  588. k = interval - 3
  589. Hkr = [alf, k]
  590. print('Hkr - ',Hkr)
  591. print('Согласно таблице приложения 3 критических точек распределения Hkr =', 11.1)
  592.  
  593.  
  594. # Т. к. χ2 < χ2кр
  595. # , то нет оснований отвергнуть проверяемую нулевую гипо-
  596. # тезу. Т. е. принимаем предположение, что статистические данные рас-
  597. # пределены по нормальному закону с параметрами a = 86,4 и σ = 8,41.
  598.  
  599. # In[39]:
  600.  
  601.  
  602. teorRad = []
  603. for i in range(0, len(YlaplasNew)):
  604.     round(YlaplasNew[i])*[(arrDiap_[i][0]+0.01)]
  605.     teorRad = teorRad + round(YlaplasNew[i]*100)*[(arrDiap_[i][0]+0.01)]
  606. #print('Возможный ряд для новой теоретической частоты',teorRad)
  607. dfT4.sum()
  608.  
  609.  
  610. # По таблице приложения 3 критических точек распределения χ2 , по
  611. # заданному уровню значимости α = 0,05 и числу степеней свободы
  612. # k = 8 − 3 = 5 найдём критическое значение χ2кр(α ;k) = χ2кр(0,05;5) = 11,1.
  613. # Т. к. χ2 χ2кр
  614. #
  615. # набл < , то нет оснований отвергнуть проверяемую нулевую гипо-
  616. # тезу. Т. е. принимаем предположение, что статистические данные рас-
  617. # пределены по нормальному закону с параметрами a = 60.64 и σ = 11.0805.
  618. #
  619.  
  620. # # 8 step
  621.  
  622. # In[40]:
  623.  
  624.  
  625. YlaplasNew = []
  626. for i in range(1,len(XhistListNew)):
  627.     itt1 = ((XhistListNew[i]) - a)/sig
  628.     itt2 = ((XhistListNew[i-1]) - a)/sig
  629.     out = GetLaplas(itt1) - GetLaplas(itt2)
  630.     YlaplasNew.append(out)
  631. YlaplasNew
  632. plt.plot(XhistList_[1:], relateFreq)
  633. plt.plot(XhistListNew[1:], YlaplasNew)
  634. plt.show()
  635.  
  636.  
  637. # In[41]:
  638.  
  639.  
  640. plt.plot(xxx, yyy, color = "red", marker = "o", linestyle= "--", linewidth = 1, markersize = 1)
  641. #######2
  642. n_bins = XhistListNew
  643. x = teorRad
  644. plt.hist(x, n_bins,lw=2,  ec="white", density=True,histtype='bar', facecolor='b',alpha=0.5)
  645. plt.title('Стало после перерасчета',fontweight ="bold", alpha=0.8)
  646. #########2
  647. print('Новый ряд', XhistListNew)
  648. plt.show()
  649.  
  650.  
  651. # In[42]:
  652.  
  653.  
  654. plt.plot(xxx, yyy, color = "red", marker = "o", linestyle= "--", linewidth = 1, markersize = 1)
  655. #######2
  656. n_bins = XhistList_
  657. x = arrSorted
  658. plt.hist(x, n_bins,lw=2,  ec="white", density=True,histtype='bar', facecolor='b',alpha=0.5)
  659. plt.title('Было до теор перерасчёта',fontweight ="bold", alpha=0.9)
  660. #########2
  661. plt.show()
  662.  
  663.  
  664. # # 9 step
  665.  
  666. # ДАНО:<br>
  667. #    -- Применив критерий согласия Пирсона χ2 с заданным уровнем значимости
  668. # α = 0,05, окончательно принять или отвергнуть выдвинутую гипотезу о распре-
  669. # делении генеральной совокупности. <br>
  670. #    -- Найти доверительные интервалы для генеральной средней и генерального
  671. # среднего квадратического отклонения по уровню надёжности γ = 0,99 .
  672.  
  673. # In[43]:
  674.  
  675.  
  676. alf = 0.05
  677. gamma = 0.99
  678. print('Hnabl = ',Hnabl)
  679. alf = 0.05
  680. interval = len(XhistListNew)
  681. k = interval - 3
  682. Hkr = [alf, k]
  683. print('Hkr - ',Hkr)
  684. Hkr_ = 11.1
  685. print('Согласно таблице приложения 3 критических точек распределения Hkr =', Hkr_)
  686.  
  687.  
  688. # Значение tγ = t(γ ,n) находим в таблице приложения 6 по заданному
  689. # уровню надёжности
  690.  
  691. # In[44]:
  692.  
  693.  
  694. tgamma = [0.99, 100] # находим по таблице
  695. print('tgamma - ',tgamma)
  696. tgamma_ = 2.627
  697. print('Согласно таблице таблице приложения 6 по заданному уровню надёжности tgamma =', tgamma_)
  698.  
  699. e = tgamma_ / len(arrInt)**0.5 * sig
  700. print('e =', e)
  701. a = Xv
  702. sig = s
  703.  
  704.  
  705. # In[45]:
  706.  
  707.  
  708. Xv_m_e = Xv - e
  709. Xv_p_e = Xv + e
  710. DoveritInterval1 = [ Xv_m_e, Xv_p_e ]
  711. print('Доверительный интервал для Хг -', DoveritInterval1)
  712.  
  713.  
  714. # In[46]:
  715.  
  716.  
  717. q = [0.99, 100] # находим по таблице
  718. print('q - ', q)
  719. q_ = 0.198
  720. print('По таблице приложения 7 величина q(γ ,n) q =', q_)
  721.  
  722.  
  723. # In[47]:
  724.  
  725.  
  726. sig_mq = sig - sig*q_
  727. sig_pq = sig + sig*q_
  728. # Доверительный интервал для генерального среднего квадратического отклонения
  729. DoveritInterval2 = [ sig_mq, sig_pq ]
  730. print('Доверительный интервал q(γ ,n)  - для Сигма г', DoveritInterval2)
  731.  
  732.  
Add Comment
Please, Sign In to add comment