OLS: 最小二乘法 from scipy import stats 7.1 单因素方差分析dat1
数据描述 有A,B, C,D,E五个品种,共有4个重复的产量数据。
dat1 = pd.read_csv("7.1.csv") dat1.head()
这里, 将Variety作为考察因素,使用最小二乘法OLS model = ols('y ~ C(Variety)',dat1).fit() anovat = anova_lm(model) print(anovat) df sum_sq mean_sq F PR(>F)
C(Variety) 5.0 52.378333 10.475667 40.334118 3.662157e-09
Residual 18.0 4.675000 0.259722 NaN NaN 结果可以看出,Variety之间的F检验达到极显著水平(P=3.66e-9) 7.2 二因素方差分析二因素方差分析,即有两个处理因素的方差分析。下面数据有两个处理:地点loc和品种cul,观测值为y dat2 = pd.read_csv("7.2.csv")
dat2.head()
模型为y~loc + cul formula = 'y~ loc + cul' df sum_sq mean_sq F PR(>F)
loc 17.0 22.671174 1.333598 9.087496 2.327448e-15
cul 8.0 114.536224 14.317028 97.560054 1.611882e-52
Residual 136.0 19.958126 0.146751 NaN NaN 结果可以看出,地点loc和品种cul间均达到极显著水平 7.3 二因素有交互方差分析二因素有交互的方差分析,模型为: y~A*B,或者为y ~ A + B + A:B dat3 = pd.read_csv("7.3.csv") dat3.head()
formula = 'y~C(A) + C(B) + C(A):C(B)' df sum_sq mean_sq F PR(>F)
C(A) 2.0 315.833333 157.916667 129.204545 2.247182e-19
C(B) 4.0 207.166667 51.791667 42.375000 1.032420e-14
C(A):C(B) 8.0 50.333333 6.291667 5.147727 1.375790e-04
Residual 45.0 55.000000 1.222222 NaN NaN 结果表明,因素A,B,A:B均达到极显著水平 Python学生物统计---Python基础---学习笔记3 关注公众号:
|
|