99999久久久久久亚洲,欧美人与禽猛交狂配,高清日韩av在线影院,一个人在线高清免费观看,啦啦啦在线视频免费观看www

熱線電話:13121318867

登錄
首頁數(shù)據(jù)分析教程數(shù)據(jù)分析師教程《統(tǒng)計學(xué)極簡入門》第7節(jié) 相關(guān)性分析
數(shù)據(jù)分析師教程《統(tǒng)計學(xué)極簡入門》第7節(jié) 相關(guān)性分析
2024-10-09
收藏

7. 相關(guān)性分析

前面的假設(shè)檢驗、方差分析基本上都是圍繞差異性分析,不論是單個總體還是兩個總體及以上,總之都是屬于研究“區(qū)別”,從本節(jié)開始,我們關(guān)注“聯(lián)系”,變量之間的關(guān)系分為 函數(shù)關(guān)系和相關(guān)關(guān)系。 本節(jié)這里重點探討的是不同類型變量之間的相關(guān)性,千萬記住一點相關(guān)性不代表因果性。除表中列出的常用方法外,還有Tetrachoric、相關(guān)系數(shù)等。

變量類型 變量類型 相關(guān)系數(shù)計算方法 示例
連續(xù)型變量 連續(xù)型變量 Pearson(正態(tài))/Spearman(非正態(tài)) 商品曝光量和購買轉(zhuǎn)化率
二分類變量(無序) 連續(xù)型變量 Point-biserial 性別和疾病指數(shù)
無序分類變量 連續(xù)型變量 方差分析 不同教育水平的考試成績
有序分類變量 連續(xù)型變量 連續(xù)指標(biāo)離散化后當(dāng)做有序分類 商品評分與購買轉(zhuǎn)化率
二分類變量 二分類變量 數(shù)學(xué)公式: 檢驗 聯(lián)合 Cramer's V 性別和是否吸煙
二分類變量(有序) 連續(xù)型變量 Biserial 樂器練習(xí)時間與考級是否通過
無序分類變量 無序分類變量 數(shù)學(xué)公式: 檢驗 / Fisher檢驗 手機品牌和年齡段
有序分類變量 無序分類變量 數(shù)學(xué)公式: 檢驗 滿意度和手機品牌
有序分類變量 有序分類變量 Spearman /Kendall Tau相關(guān)系數(shù) 用戶等級和活躍程度等級

連續(xù)型變量 vs 連續(xù)型變量 : Pearson / Spearmanr

Pearson

Pearson相關(guān)系數(shù)度量了兩個連續(xù)變量之間的線性相關(guān)程度;

import random 
import numpy as np
import pandas as pd

np.random.seed(10)
df = pd.DataFrame({'商品曝光量':[1233,1333,1330,1323,1323,1142,1231,1312,1233,1123],
     '購買轉(zhuǎn)化率':[0.033,0.034,0.035,0.033,0.034,0.029,0.032,0.034,0.033,0.031]})
df
pd.Series.corr(df['商品曝光量'], df['購買轉(zhuǎn)化率'],method = 'pearson'# pearson相關(guān)系數(shù)
# 0.885789300493948
import scipy.stats as stats

# 假設(shè)有兩個變量X和Y
X = df['商品曝光量']
Y = df['購買轉(zhuǎn)化率']

# 使用spearmanr函數(shù)計算斯皮爾曼相關(guān)系數(shù)和p值
corr, p_value = stats.pearsonr(X, Y)

print("Pearson相關(guān)系數(shù):", corr)
print("p值:", p_value)
# Pearson相關(guān)系數(shù): 0.8857893004939478
# p值: 0.0006471519603654732

Spearman等級相關(guān)系數(shù)

Spearman等級相關(guān)系數(shù)可以衡量非線性關(guān)系變量間的相關(guān)系數(shù),是一種非參數(shù)的統(tǒng)計方法,可以用于定序變量或不滿足正態(tài)分布假設(shè)的等間隔數(shù)據(jù);

import random 
import numpy as np
import pandas as pd

np.random.seed(10)
df = pd.DataFrame({'品牌知名度排位':[9,4,3,6,5,8,1,7,10,2],
     '售后服務(wù)質(zhì)量評價排位':[8,2,5,4,7,9,1,6,10,3]})
df
pd.Series.corr(df['品牌知名度排位'], df['售后服務(wù)質(zhì)量評價排位'],method = 'spearman'# spearman秩相關(guān)
# 0.8787878787878788
import scipy.stats as stats

# 假設(shè)有兩個變量X和Y
X = df['品牌知名度排位']
Y = df['售后服務(wù)質(zhì)量評價排位']

# 使用spearmanr函數(shù)計算斯皮爾曼相關(guān)系數(shù)和p值
corr, p_value = stats.spearmanr(X, Y)

print("斯皮爾曼相關(guān)系數(shù):", corr)
print("p值:", p_value)
# 斯皮爾曼相關(guān)系數(shù): 0.8787878787878788
# p值: 0.0008138621117322101

結(jié)論:p = 0.0008<0.05,表明兩變量之間的正向關(guān)系很顯著。

二分類變量(自然)vs 連續(xù)型變量 :Point-biserial

假設(shè)我們想要研究性別對于某種疾病是否存在影響。我們有一個二元變量“性別”(男、女)和一個連續(xù)型變量“疾病指數(shù)”。我們想要計算性別與疾病指數(shù)之間的相關(guān)系數(shù),就需要用到Point-biserial相關(guān)系數(shù)。

import scipy.stats as stats

# 創(chuàng)建一個列表來存儲數(shù)據(jù)
gender = [0, 1, 0, 1, 1, 0]
disease_index = [3.2, 4.5, 2.8, 4.0, 3.9, 3.1]

# 使用pointbiserialr函數(shù)計算Point-biserial相關(guān)系數(shù)和p值
corr, p_value = stats.pointbiserialr(gender, disease_index)

print("Point-biserial相關(guān)系數(shù):", corr)
print("p值:", p_value)
# Point-biserial相關(guān)系數(shù): 0.9278305692406299
# p值: 0.007624695507848026

結(jié)論:p = 0.007<0.05,表明兩變量之間的正向關(guān)系很顯著。即性別與疾病指數(shù)正相關(guān)

無序分類變量 vs 連續(xù)型變量 : ANOVA

假設(shè)我們想要比較不同教育水平的學(xué)生在CDA考試成績上是否存在顯著差異。我們有一個無序分類變量“教育水平”(高中、本科、研究生)和一個連續(xù)型變量“考試成績”。

import pandas as pd
import statsmodels.api as sm
from statsmodels.formula.api import ols

# 創(chuàng)建一個DataFrame來存儲數(shù)據(jù)
data = pd.DataFrame({
    '教育水平': ['高中''本科''本科''研究生''高中''本科''研究生'],
    '考試成績': [80, 90, 85, 95, 75, 88, 92]
})

# 使用ols函數(shù)創(chuàng)建一個線性模型
model = ols('考試成績 ~ C(教育水平)', data=data).fit()

# 使用anova_lm函數(shù)進行方差分析
anova_table = sm.stats.anova_lm(model, typ=2)
anova_table

結(jié)論:p = 0.0102<0.05,拒絕原假設(shè),表明兩變量之間的正向關(guān)系很顯著。教育水平與考試成績正相關(guān)

有序分類變量 vs 連續(xù)型變量

連續(xù)型變量離散化后當(dāng)做有序分類,然后用 有序分類變量 VS 有序分類變量的方法

二分類變量 vs 二分類變量 :檢驗 聯(lián)合 Cramer's V

一項研究調(diào)查了不同性別的成年人對在公眾場合吸煙的態(tài)度,結(jié)果如表所示。那么,性別與對待吸煙的態(tài)度之間的相關(guān)程度

- 贊同 反對
15 10
10 26
import numpy as np
from scipy.stats import chi2_contingency

observed = np.array([[15, 10],
                     [10, 26]])
observed

chi2, p, dof, expected = chi2_contingency(observed,correction =False) # correction =False
# 卡方值 
# P值 
# 自由度: 
# 與原數(shù)據(jù)數(shù)組同維度的對應(yīng)期望值

chi2, p
#(6.3334567901234555, 0.011848116168529757)

結(jié)論:p = 0.0118<0.05,拒絕原假設(shè),表明兩變量之間的正向關(guān)系很顯著。

phi = np.sqrt(chi2/n)
print("phi's V:", phi)
# phi's V: 0.3222222222222222

卡方檢驗時有多種指標(biāo)可表示效應(yīng)量,可結(jié)合數(shù)據(jù)類型交叉表格類型綜合選擇

  • 第一:如果是2*2表格,建議使用 指標(biāo)
  • 第二:如果是33,或 44表格,建議使用列聯(lián)系數(shù);
  • 第三:如果是n*n(n>4)表格,建議使用 校正列聯(lián)系數(shù);
  • 第四:如果是m*n(m不等于n)表格,建議使用 Cramer V指標(biāo);
  • 第五:如果X或Y中有定序數(shù)據(jù),建議使用 指標(biāo)

這里只列出 指標(biāo)Cramer V指標(biāo) 的計算,其他計算方式請讀者自行研究。

# 計算Cramer's V
contingency_table = observed
n = contingency_table.sum().sum()
phi_corr = np.sqrt(chi2 / (n * min(contingency_table.shape) - 1))
v = phi_corr / np.sqrt(min(contingency_table.shape) - 1)

print("Cramer's V:", v)
# Cramer's V: 0.22878509151645754

二分類變量(有序) 連續(xù)型變量: Biserial

import numpy as np
from scipy.stats import pearsonr

# 生成隨機的二元變量
binary_variable = np.random.choice([0, 1], size=100)

# 生成隨機的連續(xù)變量
continuous_variable = np.random.normal(loc=0, scale=1, size=100)


# 注:此處的代碼未經(jīng)嚴(yán)格考證,請謹(jǐn)慎使用
def biserial_correlation(binary_variable, continuous_variable):
    binary_variable_bool = binary_variable.astype(bool)
    binary_mean = np.mean(binary_variable_bool)
    binary_std = np.std(binary_variable_bool)
    
    binary_variable_norm = (binary_variable_bool - binary_mean) / binary_std
    
    corr, _ = pearsonr(binary_variable_norm, continuous_variable)
    biserial_corr = corr * (np.std(continuous_variable) / binary_std)
    
    return biserial_corr

# 計算Biserial相關(guān)系數(shù)
biserial_corr = biserial_correlation(binary_variable, continuous_variable)

print("Biserial相關(guān)系數(shù):", biserial_corr)
Biserial相關(guān)系數(shù): -0.2061772328681707

無序分類變量 vs 無序分類變量

參考 檢驗

有序分類變量 vs 無序分類變量

參考 檢驗

有序分類變量 vs 有序分類變量

Kendall秩相關(guān)系數(shù)

Kendall秩相關(guān)系數(shù)也是一種非參數(shù)的等級相關(guān)度量,類似于Spearman等級相關(guān)系數(shù)

import random 
import numpy as np
import pandas as pd

np.random.seed(10)
df = pd.DataFrame({'品牌知名度排位':[9,4,3,6,5,8,1,7,10,2],
     '售后服務(wù)質(zhì)量評價排位':[8,2,5,4,7,9,1,6,10,3]})
df
pd.Series.corr(df['品牌知名度排位'], df['售后服務(wù)質(zhì)量評價排位'],method = 'kendall'# Kendall Tau相關(guān)系數(shù)
# 0.7333333333333333
from scipy.stats import kendalltau

# 兩個樣本數(shù)據(jù)
x = df['品牌知名度排位']
y = df['售后服務(wù)質(zhì)量評價排位']

# 計算Kendall Tau相關(guān)系數(shù)
correlation, p_value = kendalltau(x, y)

print("Kendall Tau相關(guān)系數(shù):", correlation)
print("p值:", p_value)
# Kendall Tau相關(guān)系數(shù): 0.7333333333333333
# p值: 0.002212852733686067

浮生皆縱,恍如一夢,讓我們只爭朝夕,不負(fù)韶華!

下期將為大家?guī)?a href="http://www.3lll3.cn/bigdata/205068.html" style="text-decoration: none; color: #1e6bb8; word-wrap: break-word; font-weight: bold; border-bottom: 1px solid #1e6bb8;">《統(tǒng)計學(xué)極簡入門》之 再看t檢驗、F檢驗、檢驗

推薦學(xué)習(xí)書籍

CDA一級教材》適合CDA一級考生備考,也適合業(yè)務(wù)及數(shù)據(jù)分析崗位的從業(yè)者提升自我。完整電子版已上線CDA網(wǎng)校,累計已有10萬+在讀~

免費加入閱讀:https://edu.cda.cn/goods/show/3151?targetId=5147&preview=0

數(shù)據(jù)分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數(shù)據(jù)分析師資訊
更多

OK
客服在線
立即咨詢
客服在線
立即咨詢
') } function initGt() { var handler = function (captchaObj) { captchaObj.appendTo('#captcha'); captchaObj.onReady(function () { $("#wait").hide(); }).onSuccess(function(){ $('.getcheckcode').removeClass('dis'); $('.getcheckcode').trigger('click'); }); window.captchaObj = captchaObj; }; $('#captcha').show(); $.ajax({ url: "/login/gtstart?t=" + (new Date()).getTime(), // 加隨機數(shù)防止緩存 type: "get", dataType: "json", success: function (data) { $('#text').hide(); $('#wait').show(); // 調(diào)用 initGeetest 進行初始化 // 參數(shù)1:配置參數(shù) // 參數(shù)2:回調(diào),回調(diào)的第一個參數(shù)驗證碼對象,之后可以使用它調(diào)用相應(yīng)的接口 initGeetest({ // 以下 4 個配置參數(shù)為必須,不能缺少 gt: data.gt, challenge: data.challenge, offline: !data.success, // 表示用戶后臺檢測極驗服務(wù)器是否宕機 new_captcha: data.new_captcha, // 用于宕機時表示是新驗證碼的宕機 product: "float", // 產(chǎn)品形式,包括:float,popup width: "280px", https: true // 更多配置參數(shù)說明請參見:http://docs.geetest.com/install/client/web-front/ }, handler); } }); } function codeCutdown() { if(_wait == 0){ //倒計時完成 $(".getcheckcode").removeClass('dis').html("重新獲取"); }else{ $(".getcheckcode").addClass('dis').html("重新獲取("+_wait+"s)"); _wait--; setTimeout(function () { codeCutdown(); },1000); } } function inputValidate(ele,telInput) { var oInput = ele; var inputVal = oInput.val(); var oType = ele.attr('data-type'); var oEtag = $('#etag').val(); var oErr = oInput.closest('.form_box').next('.err_txt'); var empTxt = '請輸入'+oInput.attr('placeholder')+'!'; var errTxt = '請輸入正確的'+oInput.attr('placeholder')+'!'; var pattern; if(inputVal==""){ if(!telInput){ errFun(oErr,empTxt); } return false; }else { switch (oType){ case 'login_mobile': pattern = /^1[3456789]\d{9}$/; if(inputVal.length==11) { $.ajax({ url: '/login/checkmobile', type: "post", dataType: "json", data: { mobile: inputVal, etag: oEtag, page_ur: window.location.href, page_referer: document.referrer }, success: function (data) { } }); } break; case 'login_yzm': pattern = /^\d{6}$/; break; } if(oType=='login_mobile'){ } if(!!validateFun(pattern,inputVal)){ errFun(oErr,'') if(telInput){ $('.getcheckcode').removeClass('dis'); } }else { if(!telInput) { errFun(oErr, errTxt); }else { $('.getcheckcode').addClass('dis'); } return false; } } return true; } function errFun(obj,msg) { obj.html(msg); if(msg==''){ $('.login_submit').removeClass('dis'); }else { $('.login_submit').addClass('dis'); } } function validateFun(pat,val) { return pat.test(val); }