亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Python中常用的統(tǒng)計(jì)檢驗(yàn)代碼分享

 更新時(shí)間:2024年01月31日 10:40:14   作者:Sitin濤哥  
統(tǒng)計(jì)檢驗(yàn)是數(shù)據(jù)分析中的重要工具,用于檢驗(yàn)數(shù)據(jù)集中的差異、關(guān)聯(lián)和分布等統(tǒng)計(jì)性質(zhì),本文為大家整理了常見的統(tǒng)計(jì)檢驗(yàn)方法,希望對大家有所幫助

統(tǒng)計(jì)檢驗(yàn)是數(shù)據(jù)分析中的重要工具,用于檢驗(yàn)數(shù)據(jù)集中的差異、關(guān)聯(lián)和分布等統(tǒng)計(jì)性質(zhì)。Python 提供了豐富的庫和函數(shù),用于執(zhí)行各種統(tǒng)計(jì)檢驗(yàn)。本文將介紹常見的統(tǒng)計(jì)檢驗(yàn)方法,并提供詳細(xì)的示例代碼,幫助大家了解如何在 Python 中執(zhí)行這些檢驗(yàn)。

t 檢驗(yàn)

t 檢驗(yàn)是一種用于比較兩組數(shù)據(jù)均值是否存在顯著差異的方法。在 Python 中,可以使用 scipy.stats 模塊進(jìn)行 t 檢驗(yàn)。

import scipy.stats as stats

# 生成兩組樣本數(shù)據(jù)
data1 = [25, 30, 35, 40, 45]
data2 = [30, 32, 35, 38, 42]

# 執(zhí)行獨(dú)立樣本 t 檢驗(yàn)
t_stat, p_value = stats.ttest_ind(data1, data2)
print("t 統(tǒng)計(jì)量:", t_stat)
print("p 值:", p_value)

if p_value < 0.05:
    print("差異顯著")
else:
    print("差異不顯著")

在上面的示例中,生成了兩組樣本數(shù)據(jù) data1 和 data2,然后使用 ttest_ind 函數(shù)執(zhí)行獨(dú)立樣本 t 檢驗(yàn)。最后,根據(jù) p 值的大小判斷差異是否顯著。

卡方檢驗(yàn)

卡方檢驗(yàn)用于比較觀察頻數(shù)與期望頻數(shù)之間的差異,通常用于分析分類數(shù)據(jù)。在 Python 中,可以使用 scipy.stats 模塊執(zhí)行卡方檢驗(yàn)。

import scipy.stats as stats

# 創(chuàng)建觀察頻數(shù)表
observed = [[30, 15], [25, 20]]

# 執(zhí)行卡方檢驗(yàn)
chi2, p_value, _, _ = stats.chi2_contingency(observed)
print("卡方統(tǒng)計(jì)量:", chi2)
print("p 值:", p_value)

if p_value < 0.05:
    print("差異顯著")
else:
    print("差異不顯著")

在上面的示例中,創(chuàng)建了一個(gè)觀察頻數(shù)表 observed,然后使用 chi2_contingency 函數(shù)執(zhí)行卡方檢驗(yàn)。最后,根據(jù) p 值的大小判斷差異是否顯著。

Pearson 相關(guān)系數(shù)

Pearson 相關(guān)系數(shù)用于衡量兩個(gè)連續(xù)變量之間的線性相關(guān)性。在 Python 中,可以使用 scipy.stats 模塊計(jì)算 Pearson 相關(guān)系數(shù)。

import scipy.stats as stats

# 創(chuàng)建兩組連續(xù)變量數(shù)據(jù)
x = [1, 2, 3, 4, 5]
y = [2, 4, 5, 4, 6]

# 計(jì)算 Pearson 相關(guān)系數(shù)
correlation, _ = stats.pearsonr(x, y)
print("Pearson 相關(guān)系數(shù):", correlation)

if abs(correlation) > 0.7:
    print("線性相關(guān)性強(qiáng)")
else:
    print("線性相關(guān)性弱")

在上面的示例中,創(chuàng)建了兩組連續(xù)變量數(shù)據(jù) x 和 y,然后使用 pearsonr 函數(shù)計(jì)算它們之間的 Pearson 相關(guān)系數(shù)。最后,根據(jù)相關(guān)系數(shù)的大小判斷線性相關(guān)性的強(qiáng)弱。

單樣本 t 檢驗(yàn)

單樣本 t 檢驗(yàn)用于比較單個(gè)樣本的均值與已知均值之間是否存在顯著差異。在 Python 中,可以使用 scipy.stats 模塊執(zhí)行單樣本 t 檢驗(yàn)。

import scipy.stats as stats

# 單樣本數(shù)據(jù)
data = [28, 30, 29, 32, 31]

# 已知均值
known_mean = 30

# 執(zhí)行單樣本 t 檢驗(yàn)
t_stat, p_value = stats.ttest_1samp(data, known_mean)
print("t 統(tǒng)計(jì)量:", t

_stat)
print("p 值:", p_value)

if p_value < 0.05:
    print("差異顯著")
else:
    print("差異不顯著")

在上面的示例中,有一個(gè)單樣本數(shù)據(jù)集 data 和一個(gè)已知的均值 known_mean,然后使用 ttest_1samp 函數(shù)執(zhí)行單樣本 t 檢驗(yàn),判斷樣本均值是否顯著不同于已知均值。

Wilcoxon 符號(hào)秩檢驗(yàn)

Wilcoxon 符號(hào)秩檢驗(yàn)用于比較兩組配對樣本的差異,通常用于非正態(tài)分布數(shù)據(jù)。在 Python 中,可以使用 scipy.stats 模塊執(zhí)行 Wilcoxon 符號(hào)秩檢驗(yàn)。

import scipy.stats as stats

# 創(chuàng)建兩組配對樣本數(shù)據(jù)
before = [28, 30, 29, 32, 31]
after = [27, 29, 28, 31, 30]

# 執(zhí)行 Wilcoxon 符號(hào)秩檢驗(yàn)
w_stat, p_value = stats.wilcoxon(before, after)
print("Wilcoxon 符號(hào)秩統(tǒng)計(jì)量:", w_stat)
print("p 值:", p_value)

if p_value < 0.05:
    print("差異顯著")
else:
    print("差異不顯著")

在上面的示例中,創(chuàng)建了兩組配對樣本數(shù)據(jù) before 和 after,然后使用 wilcoxon 函數(shù)執(zhí)行 Wilcoxon 符號(hào)秩檢驗(yàn),判斷兩組樣本的差異是否顯著。

ANOVA

ANOVA(方差分析)用于比較多組樣本均值之間是否存在顯著差異。在 Python 中,可以使用 scipy.stats 模塊執(zhí)行單因素 ANOVA。

import scipy.stats as stats

# 創(chuàng)建多組樣本數(shù)據(jù)
group1 = [65, 68, 72, 70, 74]
group2 = [58, 63, 65, 61, 59]
group3 = [72, 70, 75, 71, 73]

# 執(zhí)行單因素 ANOVA
f_stat, p_value = stats.f_oneway(group1, group2, group3)
print("F 統(tǒng)計(jì)量:", f_stat)
print("p 值:", p_value)

if p_value < 0.05:
    print("差異顯著")
else:
    print("差異不顯著")

在上面的示例中,創(chuàng)建了三組樣本數(shù)據(jù) group1、group2 和 group3,然后使用 f_oneway 函數(shù)執(zhí)行單因素 ANOVA,判斷多組樣本均值是否存在顯著差異。

Kolmogorov-Smirnov 檢驗(yàn)

Kolmogorov-Smirnov 檢驗(yàn)用于比較兩組數(shù)據(jù)的分布是否相同。在 Python 中,可以使用 scipy.stats 模塊執(zhí)行 Kolmogorov-Smirnov 檢驗(yàn)。

import scipy.stats as stats

# 創(chuàng)建兩組數(shù)據(jù)
data1 = [0.1, 0.2, 0.3, 0.4, 0.5]
data2 = [0.2, 0.3, 0.4, 0.5, 0.6]

# 執(zhí)行 Kolmogorov-Smirnov 檢驗(yàn)
ks_stat, p_value = stats.ks_2samp(data1, data2)
print("KS 統(tǒng)計(jì)量:", ks_stat)
print("p 值:", p_value)

if p_value < 0.05:
    print("差異顯著")
else:
    print("差異不顯著")

在上面的示例中,創(chuàng)建了兩組數(shù)據(jù) data1 和 data2,然后使用 ks_2samp 函數(shù)執(zhí)行 Kolmogorov-Smirnov 檢驗(yàn),判斷兩組數(shù)據(jù)的分布是否相同。

Shapiro-Wilk 正態(tài)性檢驗(yàn)

Shapiro-Wilk 正態(tài)性檢驗(yàn)用于檢驗(yàn)數(shù)據(jù)是否符合正態(tài)分布。在 Python 中,可以使用 scipy.stats 模塊執(zhí)行 Shapiro-Wilk 正態(tài)性檢驗(yàn)。

import scipy.stats as stats

# 創(chuàng)建樣本數(shù)據(jù)
data = [2.3, 3.```python
7, 4.5, 6.8, 5.1, 8.2]

# 執(zhí)行 Shapiro-Wilk 正態(tài)性檢驗(yàn)
statistic, p_value = stats.shapiro(data)
print("Shapiro-Wilk 統(tǒng)計(jì)量:", statistic)
print("p 值:", p_value)

if p_value < 0.05:
    print("不符合正態(tài)分布")
else:
    print("符合正態(tài)分布")

在上面的示例中,創(chuàng)建了一個(gè)樣本數(shù)據(jù)集 data,然后使用 shapiro 函數(shù)執(zhí)行 Shapiro-Wilk 正態(tài)性檢驗(yàn),判斷數(shù)據(jù)是否符合正態(tài)分布。

線性回歸

線性回歸用于建立連續(xù)自變量與連續(xù)因變量之間的線性關(guān)系模型。在 Python 中,可以使用 scipy.stats 模塊執(zhí)行線性回歸分析。

import scipy.stats as stats

# 創(chuàng)建自變量和因變量數(shù)據(jù)
x = [1, 2, 3, 4, 5]
y = [2, 4, 5, 4, 6]

# 執(zhí)行線性回歸分析
slope, intercept, r_value, p_value, std_err = stats.linregress(x, y)
print("斜率:", slope)
print("截距:", intercept)
print("相關(guān)系數(shù):", r_value)
print("p 值:", p_value)

if p_value < 0.05:
    print("回歸模型顯著")
else:
    print("回歸模型不顯著")

在上面的示例中,創(chuàng)建了自變量數(shù)據(jù) x 和因變量數(shù)據(jù) y,然后使用 linregress 函數(shù)執(zhí)行線性回歸分析,得到回歸方程的斜率、截距、相關(guān)系數(shù)和 p 值。

分位數(shù)回歸

分位數(shù)回歸用于建立分位數(shù)與自變量之間的關(guān)系模型,通常用于處理異方差性或離群值較多的數(shù)據(jù)。在 Python 中,可以使用 statsmodels 庫執(zhí)行分位數(shù)回歸分析。

import statsmodels.api as sm

# 創(chuàng)建自變量和因變量數(shù)據(jù)
x = [1, 2, 3, 4, 5]
y = [2, 4, 5, 4, 6]

# 添加常數(shù)項(xiàng)
x = sm.add_constant(x)

# 執(zhí)行分位數(shù)回歸分析
quantiles = [0.25, 0.5, 0.75]
for q in quantiles:
    model = sm.QuantReg(y, x)
    result = model.fit(q=q)
    print(f"分位數(shù) {q}:")
    print(result.summary())

在上面的示例中,創(chuàng)建了自變量數(shù)據(jù) x 和因變量數(shù)據(jù) y,然后使用 sm.QuantReg 類執(zhí)行分位數(shù)回歸分析,得到不同分位數(shù)下的回歸結(jié)果。

這些是常見的統(tǒng)計(jì)檢驗(yàn)方法和回歸分析方法的示例代碼,可以幫助進(jìn)行數(shù)據(jù)分析和統(tǒng)計(jì)建模。根據(jù)不同的需求和數(shù)據(jù)類型,選擇合適的方法進(jìn)行分析和假設(shè)檢驗(yàn),以獲得有意義的結(jié)果。

以上就是Python中常用的統(tǒng)計(jì)檢驗(yàn)代碼分享的詳細(xì)內(nèi)容,更多關(guān)于Python統(tǒng)計(jì)檢驗(yàn)的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評(píng)論