方差分析和相關(guān)性分析都是描述特征之間的關(guān)系的統(tǒng)計(jì)方法,但它們關(guān)注的方面略有不同。
方差分析主要用于研究一個(gè)或多個(gè)自變量對(duì)因變量的影響,即研究因素之間的差異性。通過比較不同組之間的方差,可以確定哪些因素對(duì)結(jié)果變量的影響比較重要,以及不同組之間的顯著性差異。因此,方差分析可以用于描述特征的重要性程度。
相關(guān)性分析主要用于研究?jī)蓚€(gè)或多個(gè)變量之間的關(guān)系,即研究特征之間的相關(guān)性。通過計(jì)算相關(guān)系數(shù),可以確定不同變量之間的相關(guān)程度,以及變量之間的正相關(guān)或負(fù)相關(guān)關(guān)系。因此,相關(guān)性分析可以用于描述特征間的關(guān)系。
Pearson相關(guān)系數(shù)分析:用于評(píng)估兩個(gè)連續(xù)變量之間的線性關(guān)系。
Spearman秩相關(guān)系數(shù)分析:用于評(píng)估兩個(gè)有序變量之間的關(guān)系,不要求變量之間具有線性關(guān)系。
Kendall秩相關(guān)系數(shù)分析:用于評(píng)估兩個(gè)有序變量之間的關(guān)系,也不要求變量之間具有線性關(guān)系。
判定系數(shù)(R2)分析:用于評(píng)估一個(gè)變量是否能夠解釋另一個(gè)變量的變異。
Pearson相關(guān)系數(shù)分析
Pearson相關(guān)系數(shù)是用于衡量?jī)蓚€(gè)連續(xù)變量之間線性相關(guān)程度的方法。它的取值范圍在-1到1之間,其中0表示沒有相關(guān)關(guān)系,1表示完全正相關(guān),-1表示完全負(fù)相關(guān)。
計(jì)算Pearson相關(guān)系數(shù)的公式為:
r = Σ((x - x?)(y - ?)) / [(Σ(x - x?)2Σ(y - ?)2) ^ 0.5]
其中,x和y是兩個(gè)變量的觀測(cè)值,x?和?是它們的均值。r的取值范圍在-1到1之間,r值越接近1或-1,代表兩個(gè)變量之間的相關(guān)性越強(qiáng);r值越接近0,代表兩個(gè)變量之間沒有相關(guān)性。
Spearman秩相關(guān)系數(shù)分析
Spearman秩相關(guān)系數(shù)是用于評(píng)估兩個(gè)有序變量之間的關(guān)系的方法。它的取值范圍在-1到1之間,其中0表示沒有相關(guān)關(guān)系,1表示完全正相關(guān),-1表示完全負(fù)相關(guān)。
計(jì)算Spearman秩相關(guān)系數(shù)的公式為:
r = 1 - (6Σd2 / n(n2 - 1))
其中,d為兩個(gè)變量的秩次差,n為樣本個(gè)數(shù)。Spearman秩相關(guān)系數(shù)與Pearson相關(guān)系數(shù)類似,但更適用于非正態(tài)分布的數(shù)據(jù)或者兩個(gè)變量之間不是線性關(guān)系的情況。
Kendall秩相關(guān)系數(shù)分析
Kendall秩相關(guān)系數(shù)也是用于評(píng)估兩個(gè)有序變量之間的關(guān)系的方法。它的取值范圍也在-1到1之間,其中0表示沒有相關(guān)關(guān)系,1表示完全正相關(guān),-1表示完全負(fù)相關(guān)。
計(jì)算Kendall秩相關(guān)系數(shù)的公式:
r = (P - Q) / [(n(n-1))/2]
其中,P是兩個(gè)變量的排列一致的對(duì)數(shù),Q是兩個(gè)變量的排列不一致的對(duì)數(shù),n是樣本個(gè)數(shù)。Kendall秩相關(guān)系數(shù)與Spearman秩相關(guān)系數(shù)類似,但更適用于小樣本數(shù)據(jù)和存在相同秩次的情況。文章來源:http://www.zghlxwxcb.cn/news/detail-675782.html
在計(jì)算P和Q時(shí),首先需要將變量的觀測(cè)值從小到大排列,并為每個(gè)觀測(cè)值分配一個(gè)秩次。然后,對(duì)于任意兩個(gè)觀測(cè)值,如果它們?cè)趦蓚€(gè)變量中的秩次一致,則為一致對(duì)數(shù)P加1;如果它們?cè)趦蓚€(gè)變量中的秩次不一致,則為不一致對(duì)數(shù)Q加1。最后,將P和Q代入公式中即可計(jì)算出Kendall秩相關(guān)系數(shù)。文章來源地址http://www.zghlxwxcb.cn/news/detail-675782.html
數(shù)值型變量例子
import pandas as pd
from scipy.stats import pearsonr, spearmanr, kendalltau
# 構(gòu)造樣本數(shù)據(jù)
df = pd.DataFrame({
'x': [1, 2, 3, 4, 5],
'y': [3, 5, 7, 9, 11]
})
# 計(jì)算Pearson相關(guān)系數(shù)和p值
pearson_corr, pearson_pvalue = pearsonr(df['x'], df['y'])
print('Pearson相關(guān)系數(shù):', pearson_corr)
print('Pearson p值:', pearson_pvalue)
# 計(jì)算Spearman秩相關(guān)系數(shù)和p值
spearman_corr, spearman_pvalue = spearmanr(df['x'], df['y'])
print('Spearman秩相關(guān)系數(shù):', spearman_corr)
print('Spearman p值:', spearman_pvalue)
# 計(jì)算Kendall秩相關(guān)系數(shù)和p值
kendall_corr, kendall_pvalue = kendalltau(df['x'], df['y'])
print('Kendall秩相關(guān)系數(shù):', kendall_corr)
print('Kendall p值:', kendall_pvalue)
'''
在上面的例子中,我們使用了pandas包創(chuàng)建了一個(gè)包含兩個(gè)變量x和y的DataFrame對(duì)象。
然后,分別使用scipy.stats包中的pearsonr()、spearmanr()和kendalltau()函數(shù)計(jì)算了Pearson、Spearman和Kendall秩相關(guān)系數(shù)以及p值。
最后,將結(jié)果打印出來。
需要注意的是,這些函數(shù)計(jì)算相關(guān)系數(shù)時(shí),會(huì)自動(dòng)排除包含缺失值的樣本。如果數(shù)據(jù)中包含缺失值,需要先進(jìn)行缺失值處理。
'''
文本型變量例子
import pandas as pd
from sklearn.feature_extraction.text import TfidfVectorizer
from scipy.stats import pearsonr
# 構(gòu)造樣本數(shù)據(jù)
text_list = [
'I love Python',
'Python is the best programming language',
'Java is another programming language',
'I dislike Java'
]
df = pd.DataFrame({'text': text_list})
# 使用TF-IDF向量化文本
vectorizer = TfidfVectorizer()
tfidf = vectorizer.fit_transform(df['text'])
# 計(jì)算Pearson相關(guān)系數(shù)和p值
corr, pvalue = pearsonr(tfidf[0].toarray()[0], tfidf[1].toarray()[0])
print('Pearson相關(guān)系數(shù):', corr)
print('p值:', pvalue)
'''
在上面的例子中,我們使用sklearn庫(kù)中的TfidfVectorizer類將文本向量化為TF-IDF向量,
然后使用scipy庫(kù)中的pearsonr()函數(shù)計(jì)算了第一篇文章和第二篇文章之間的Pearson相關(guān)系數(shù)和p值。
需要注意的是,這里只計(jì)算了兩篇文章之間的相關(guān)性,如果需要計(jì)算多篇文章之間的相關(guān)性,可以使用循環(huán)或者矩陣計(jì)算的方法。
'''
到了這里,關(guān)于常見的相關(guān)性分析的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!