統(tǒng)計(jì)學(xué)筆記
t分布:
tcdf(t0,n),t0是t的值,n是樣本容量
tcdf(0.3,15)=0.6159意思就是p{t0<=0.3}=0.6159
那么1-tcdf(0.3,15)=0.3841,就是t0>0.3的概率為0.3841.用在求p值的時(shí)候。
finv(0.9,5,5)第一個(gè)參數(shù)是F分布的1-alpha,后面是自由度,這個(gè)對(duì)應(yīng)的是F分布表中的F(0.1,5,5)
tinv(0.8,12)第一個(gè)參數(shù)是t分布的1-alpha,后面12是n,對(duì)應(yīng)t分布表中的t(0.2,12)
chi2inv(0.95,2)第一個(gè)參數(shù)是chi2分布的1-alpha,后面是n,對(duì)應(yīng)chi2分布中的chi2(0.05,2)
以下代碼翻譯<<Matlab概率與數(shù)理統(tǒng)計(jì)分析>>中p190的代碼
from scipy.stats import norm
import math
from scipy.stats import f
import numpy as np
# 第一個(gè)參數(shù)是統(tǒng)計(jì)量的值,第二參數(shù)是均值,第三個(gè)值是方差
norm_f = norm.pdf(1.96,loc=0,scale=1)
# 第一個(gè)參數(shù)是統(tǒng)計(jì)量的值,第二參數(shù)是n1自由度,第二個(gè)參數(shù)是n2自由度
f_f = f.ppf(0.95, dfn=1, dfd=4)
p = norm.cdf(1.96,0,1)
m1=7
m2=8
m3=9
r=3
data1 = np.array([73,66,89,82,43,80,63,88,78,91,76,85,94,80,96,68,79,71,71,87,68,59,76,80])
# print(data1.shape)
n=m1+m2+m3
y1 = np.sum(data1[:m1])
y2 = np.sum(data1[m1:m1+m2])
y3 = np.sum(data1[m1+m2:])
y4 = np.sum(data1)
yy = np.sum(np.multiply(data1,data1))
g = y1*y1/m1+y2*y2/m2+y3*y3/m3
SST = yy-y4*y4/n
SSA = g-y4*y4/n
SSE=SST-SSA
g1 = SSA/(r-1)
g2 = SSE/(n-r)
FEST=g1/g2
# print('FEST: ', FEST)
alpha = 0.05
# val = f.interval(alpha=0.05,dfn=r-1, dfd=n-r)
FLJ = f.ppf(1-alpha, dfn=r-1, dfd=n-r)#f分布表格中的值
p = f.sf(FEST,dfn=r-1, dfd=n-r)#計(jì)算p值1-cdf
h=1 if FEST > FLJ else 0#h為1拒絕原假設(shè)
print('h: ', h)
print('p: ', p)
# print('p2: ', 1-f.cdf(FEST,dfn=r-1, dfd=n-r))
一行代碼解決:
data_1 = data1[:m1]
data_2 = data1[m1:m1+m2]
data_3 = data1[m1+m2:]
F,p = f_oneway(data_1,data_2,data_3)
print('F: ', F)
print('p: ', p)
LSD方法:R.A.Fisher提出,如下:
1.給定檢驗(yàn)水平alpha,用方差分析法檢驗(yàn)H0.
2.如果拒絕H0,則繼續(xù)比較水平之間的差異,否則停止。
3.對(duì)水平i,j,ui與uj的最小顯著差異為L(zhǎng)SDij
4.當(dāng)兩個(gè)水平的均值差絕對(duì)值大于LSDij時(shí),認(rèn)為ui和uj不同。
每天快樂(lè)敲代碼,快樂(lè)生活

浙公網(wǎng)安備 33010602011771號(hào)