Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import pandas as pd
- import math
- import scipy.stats as stats
- import numpy as np
- from scipy.stats import norm
- path='D:\Study\Statistic\Exz\\'
- sample = pd.read_csv(path+'ds5.6.0.csv', names = ['X','Y'],header = None)
- sample_X = list(sample['X'])
- sample_Y = list(filter(lambda x: not math.isnan(x),list(sample["Y"])))
- sigmkv0 = 9.61
- sigmkv1 = 302.76
- x_mean = np.mean(sample_X)
- y_mean = np.mean(sample_Y)
- print(x_mean,y_mean)
- len_X = len(sample_X)
- len_Y = len(sample_Y)
- z = (x_mean-y_mean)/(sigmkv0/len_X + sigmkv1/len_Y)**0.5
- print('Статистика Z = ', z)
- alpha = 0.04
- z_alpha = norm().isf(alpha)
- print('K0 = (-oo; ' + str(-z_alpha) + ')')
- if z < -z_alpha:
- print('H0 Отвергается')
- else:
- print('H0 Принимается')
- print("P-value:",stats.norm.cdf(z))
- if stats.norm.cdf(z) > alpha:
- print('H0 Принимается')
- else:
- print('H0 отвергается')
- x = symbols('x')
- Laplace = 1/sqrt(2*pi)*integrate(exp(-x**2/2),(x,0,x))
- delta = 1.5
- beta = float(1/2 + Laplace.subs({x:z_alpha + math.sqrt(len_X*len_Y)/math.sqrt(len_Y*sigmkv0 + len_X*sigmkv1) * delta }))
- print("Ошибка второго рода:",beta)
- print("Мощность критерия:",1-beta)
Advertisement
Add Comment
Please, Sign In to add comment