運用python進行相關性統計檢驗

2021-10-12 02:31:07 字數 1770 閱讀 3284

主要是:

2、分類變數vs分類變數:卡方檢驗

3、連續變數vs多分類變數:f檢驗

4、連續變數vs二分類變數:若連續變數滿足正態分佈,則用t檢驗,否則應用曼-惠特尼u檢驗

主要的python指令碼如下:

from sklearn.feature_selection import selectkbest,chi2

from scipy import stats

from scipy.stats import ttest_ind, levene

def corr_continue_continue(series_1,series_2):

corr = pearsonr(series_1,series_2)[1]

return corr

def corr_cate_cate(series_1,series_2):

series_1 = np.array(series_1).reshape(-1,1)

model1 = selectkbest(chi2, k=1)

model1.fit_transform(series_1, series_2)

corr = model1.scores_[0]

p_value = model1.pvalues_[0]

return corr,p_value

def corr_continue_multicate(fenlei_series_1,lianxu_series_2):

f,p = stats.f_oneway(fenlei_series_1,lianxu_series_2)

return f,p

def normal_test(series):

u = series.mean()

std = series.std()

statistic,pvalue = stats.kstest(series,'norm',(u,std))

return statistic,pvalue

def corr_continue_twocate(data,fenlei_var,lianxu_var):

fenlei = list(set(data[fenlei_var]))

series_1 = data[lianxu_var][data[fenlei_var]==fenlei[0]]

series_2 = data[lianxu_var][data[fenlei_var]==fenlei[1]]

stats_1,pvalue_1 = normal_test(series_1)

stats_2,pvalue_2 = normal_test(series_2)

if pvalue_1 < 0.05 or pvalue_2 < 0.05:

t_value,p_value = stats.mannwhitneyu(series_1,series_2,alternative='two-sided')

else:

_,levene_p_value = levene(series_1,series_2)

if levene_p_value>0.05:

t_value,p_value = ttest_ind(series_1,series_2)

else:

t_value,p_value = ttest_ind(series_1,series_2,equal_var=false)

return t_value,p_value,pvalue_1,pvalue_2

基於R進行相關性分析

一 相關性矩陣計算 1 載入資料 data read.csv 231 6057 2016 04 05 zx wd 2.csv header false 說明 csv格式的資料,header false 表示沒有標題,即資料從第一行開始。2 檢視匯入資料的前幾行,3 刪除資料的7,8列,都是0 4 計...

統計 相關性與自相關性

相關係數度量指的是兩個不同事件彼此之間的相互影響程度 而自相關係數度量的是同一事件在兩個不同時期之間的相關程度,形象的講就是度量自己過去的行為對自己現在的影響。自相關,也稱 序列相關。是乙個訊號於其自身在不同時間點的互相關。非正式地來說,它就是兩次觀察之間的相似度對它們之間的時間差的函式。它是找出重...

統計獨立性和統計相關性

在隨機訊號分析中,不相關 正交 統計獨立等是非常重要的,這裡進一步討論各自的嚴格概念和相互關係。當兩個隨機過程保持統計獨立時,它們必然是不相關的,但反過來則不一定成立,即不相關的兩個隨機過程不一定能保持統計獨立,唯有在高斯隨機過程中才是例外。這就是說,從統計角度看,保持統計獨立的條件要比不相關還要嚴...