バイアス相関解析

16644 ワード

📌 へんそうかんけいすう
  • の2つの変数間の純粋な相関
  • 他の変数の影響を制御する場合、2つの関心変数間の線形相関
  • を測定する.

  • 偽の上司を見つけるのに使われる
    年収、血圧、年齢

  • 非表示の関係の検索
    ex)購入の必要性と購入意向~収入

  • AとCは正の相関を示し、CとBは負の相関を示し、互いに相殺し、A-B関係を示さない
  • str(mtcars)
    'data.frame':	32 obs. of  11 variables:
     $ mpg : num  21 21 22.8 21.4 18.7 18.1 14.3 24.4 22.8 19.2 ...
     $ cyl : num  6 6 4 6 8 6 8 4 4 6 ...
     $ disp: num  160 160 108 258 360 ...
     $ hp  : num  110 110 93 110 175 105 245 62 95 123 ...
     $ drat: num  3.9 3.9 3.85 3.08 3.15 2.76 3.21 3.69 3.92 3.92 ...
     $ wt  : num  2.62 2.88 2.32 3.21 3.44 ...
     $ qsec: num  16.5 17 18.6 19.4 17 ...
     $ vs  : num  0 0 1 1 0 1 0 1 1 1 ...
     $ am  : num  1 1 1 0 0 0 0 0 0 0 ...
     $ gear: num  4 4 4 3 3 3 3 4 4 4 ...
     $ carb: num  4 4 1 1 2 1 4 2 2 4 ...
    > mtcars2 <- mtcars[, c("mpg", "cyl", "hp", "wt")]
    📌 そうかんけいすう
    > cor(mtcars2)
               mpg        cyl         hp         wt
    mpg  1.0000000 -0.8521620 -0.7761684 -0.8676594
    cyl -0.8521620  1.0000000  0.8324475  0.7824958
    hp  -0.7761684  0.8324475  1.0000000  0.6587479
    wt  -0.8676594  0.7824958  0.6587479  1.0000000
  • mpg-cyl相関係数:-0.8521620
  • mpg-hp相関係数:-0.761684
  • mpg-wtの相関係数:-0.86676594
  • mpgとhpの負の相関はmpg−cyl,mpg−wtの影響を受ける可能性がある.
    📌 へんそうかんけいすう
    mphとhpの偏相関係数
    > pcor(c(1, 3, 2, 4), cov(mtcars2))
    [1] -0.2758932
    
    > pcor(c("mpg", "hp", "cyl", "wt"), cov(mtcars2))
    [1] -0.2758932
    cylとwt状態におけるmpgとhpの純相関係数−0.2758932を制御した.mpgとhpの高負の相関係数はclyとwtの影響を受けた.
    📌 バイアス相関係数の有効性検査
    > pcor.test(pcor(c(1, 3, 2, 4), cov(mtcars2)),
                q=2, n=nrow(mtcars2))
    $tval
    [1] -1.518838
    
    $df
    [1] 28
    
    $pvalue
    [1] 0.1400152
    p-value=0.1400152,帰務仮定は却下できません.
    従って,cylとwtを制御するとmpgとhpには純粋な相関は存在しない.
    📝 バイアス相関および油溶性検査を実行するためのパッケージ.
    > library(ppcor)
    > pcor(mtcars2)
    $estimate
               mpg        cyl         hp         wt
    mpg  1.0000000 -0.3073687 -0.2758932 -0.6285559
    cyl -0.3073687  1.0000000  0.5340905  0.2224468
    hp  -0.2758932  0.5340905  1.0000000 -0.1574640
    wt  -0.6285559  0.2224468 -0.1574640  1.0000000
    
    $p.value
                 mpg         cyl          hp           wt
    mpg 0.0000000000 0.098480097 0.140015155 0.0001994765
    cyl 0.0984800975 0.000000000 0.002365994 0.2374063384
    hp  0.1400151550 0.002365994 0.000000000 0.4059618058
    wt  0.0001994765 0.237406338 0.405961806 0.0000000000
    
    $statistic
              mpg       cyl        hp        wt
    mpg  0.000000 -1.709183 -1.518838 -4.276365
    cyl -1.709183  0.000000  3.342856  1.207328
    hp  -1.518838  3.342856  0.000000 -0.843747
    wt  -4.276365  1.207328 -0.843747  0.000000
    
    $n
    [1] 32
    
    $gp
    [1] 2
    
    $method
    [1] "pearson"
    
    > pcor.test(mtcars2["mpg"], mtcars2["hp"], mtcars2[c("cyl", "wt")])
        estimate   p.value statistic  n gp  Method
    1 -0.2758932 0.1400152 -1.518838 32  2 pearson