OLS: 最小二乘法from scipy import stats
import pandas as pd
import numpy as npfrom statsmodels.formula.api
import olsfrom statsmodels.stats.anova
import anova_lmfrom statsmodels.stats.multicomp
import pairwise_tukeyhsdimport matplotlib.pyplot as plt
7.1 单因素方差分析
dat1
Varietyrepy0Ab115.3
1Bb118.0
2Cb116.6
3Db116.4
4Eb113.7
5Fb117.0
6Ab214.9
7Bb217.6
8Cb217.8
9Db217.3
10Eb213.6
11Fb217.6
12Ab316.2
13Bb318.6
14Cb317.6
15Db317.3
16Eb313.9
17Fb318.2
18Ab416.2
19Bb418.3
20Cb417.8
21Db417.8
22Eb414.0
23Fb417.5
数据描述
有A,B, C,D,E五个品种,共有4个重复的产量数据。Variety 品种
rep 重复
y 产量dat1 = pd.read_csv("7.1.csv")dat1.head()
Varietyrepy0Ab115.3
1Bb118.0
2Cb116.6
3Db116.4
4Eb113.7
这里, 将Variety作为考察因素,使用最小二乘法OLSmodel = 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,观测值为ydat2 = pd.read_csv("7.2.csv")
dat2.head()
locculy0AnnBH934.460
1AriBH934.417
2AugBH934.669
3CasBH934.732
4DelBH934.390
模型为y~loc + culformula = 'y~ loc + cul'
anova_results = anova_lm(ols(formula,dat2).fit())
print(anova_results)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:Bdat3 = pd.read_csv("7.3.csv")dat3.head()
ABy0A1b127
1A1b129
2A1b126
3A1b126
4A2b130
formula = 'y~C(A) + C(B) + C(A):C(B)'
anova_results = anova_lm(ols(formula,dat3).fit())
print(anova_results)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均达到极显著水平
关注公众号:
转载本文请联系原作者获取授权,同时请注明本文来自邓飞科学网博客。
链接地址:http://blog.sciencenet.cn/blog-2577109-1143281.html
上一篇:《大国宪制》读后感---题记
下一篇:如何对数据进行汇总统计(R语言)