统计学假设检验和建模

1.经典t检验

让我们在两个不同的场合下对一个赛车对的表现进行衡量,在第一次比赛中,团队的成员的得分为[79,100,93,75,84,107,66,86,103,81,89,105,84,86,86,112,112,100,94],在第二次比赛中,他们的得分为[92, 100, 76, 97, 72, 79, 94, 71, 84, 76, 82, 57, 67, 78, 94, 83, 85, 92, 76, 88]

可以用下面的python语句生成这些数据并且用t检验来比较两组数据

import numpy as np
from scipy import stats

np.random.seed(123)
race_1 = np.round(np.random.randn(20)*10 + 90)
race_2 = np.round(np.random.randn(20)*10 + 85)

#t检验
(t, pVal) = stats.ttest_rel(race_1, race_2)

#显示结果
print('The probability that the two distributions are equal is {0:5.3f}.'.format(pVal))

最后发现结果是0.033

2.统计学建模

用统计学模型的角度来表达,我们假设第一次和第二次比赛的差异是一个常量。(无效假设就i是该值等于0),这个模型只有一个参数:这个常量,我们呢可以用下面的代码得到这个参数以及它的置信区间和大量的其他信息。

import numpy as np
from scipy import stats

import pandas as pd
import statsmodels.formula.api as sm

np.random.seed(123)
race_1 = np.round(np.random.randn(20)*10 + 90)
race_2 = np.round(np.random.randn(20)*10 + 85)


np.random.seed(123)
df = pd.DataFrame({'Race_1':race_1, 'Race_2':race_2})

result = sm.ols(formula = 'I(Race_2-Race_1) ~ 1', data=df).fit()
print(result.summary())

统计学假设检验和建模

上一篇:Promise.all原理,Promise.race原理


下一篇:【ASP.NET】website转webapplication