日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

Python學(xué)生物統(tǒng)計---方差分析---學(xué)習(xí)筆記7

 育種數(shù)據(jù)分析 2021-11-18

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_tukeyhsd

import
matplotlib.pyplot as plt

7.1 單因素方差分析

dat1

Varietyrepy
0Ab115.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

數(shù)據(jù)描述

有A,B, C,D,E五個品種,共有4個重復(fù)的產(chǎn)量數(shù)據(jù)。

  • Variety 品種

  • rep 重復(fù)

  • y 產(chǎn)量

dat1 = pd.read_csv("7.1.csv")dat1.head()

Varietyrepy
0Ab115.3
1Bb118.0
2Cb116.6
3Db116.4
4Eb113.7

這里, 將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

結(jié)果可以看出,Variety之間的F檢驗達(dá)到極顯著水平(P=3.66e-9)

7.2 二因素方差分析

二因素方差分析,即有兩個處理因素的方差分析。下面數(shù)據(jù)有兩個處理:地點loc和品種cul,觀測值為y

dat2 = pd.read_csv("7.2.csv") dat2.head()

locculy
0AnnBH934.460
1AriBH934.417
2AugBH934.669
3CasBH934.732
4DelBH934.390

模型為y~loc + cul

formula = '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

結(jié)果可以看出,地點loc和品種cul間均達(dá)到極顯著水平

7.3 二因素有交互方差分析

二因素有交互的方差分析,模型為: y~A*B,或者為y ~ A + B + A:B

dat3 = pd.read_csv("7.3.csv")dat3.head()

ABy
0A1b127
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

結(jié)果表明,因素A,B,A:B均達(dá)到極顯著水平

Python生物統(tǒng)計---前言及Flag---學(xué)習(xí)筆記1

Python學(xué)生物統(tǒng)計---為什么是統(tǒng)計---學(xué)習(xí)筆記2

Python學(xué)生物統(tǒng)計---Python基礎(chǔ)---學(xué)習(xí)筆記3

Python學(xué)生物統(tǒng)計---數(shù)據(jù)導(dǎo)入---學(xué)習(xí)筆記4

Python學(xué)生物統(tǒng)計---T檢驗---學(xué)習(xí)筆記6

關(guān)注公眾號:

    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多