Topic 5
ピアソンの相関:散布図+回帰直線
Pearson correlation with scatter plot and line-of-best-fit interpretation
2つの連続変数が一緒に増減するかを、相関係数 r と散布図で確認する基本テーマです。『強さ』と『方向』を短く要約しながら、図を見て外れ値や曲がりを確認する流れを学びます。
このページでは、睡眠時間と疲労感スコアのように、2つの連続変数の線形な関連を調べたいときに使う Pearson の相関係数を扱います。サンプルデータでは 30 人分のデータを用い、sleep_hours が長いほど fatigue_score が低いかどうかを R で確かめます。
このページのゴール
- 相関係数 r が『方向』と『強さ』を表すことを説明できるようになる
- 散布図を先に見て、線形性・外れ値・範囲の偏りを確認できるようになる
- cor.test() の出力から r、95%CI、p値を拾って文章化できるようになる
- 相関があることと因果があることを区別して記述できるようになる
Start here
まず押さえる4つのポイント
1. 相関係数 r は −1 〜 1 の指標
ピアソンの相関係数 r は、2変数がどちらの向きに、どのくらい一緒に動くかを表します。正なら片方が大きいほどもう片方も大きく、負なら片方が大きいほどもう片方は小さくなる傾向です。
2. まず散布図を見る
相関係数は便利ですが、散布図を見ずに r だけ読むのは危険です。外れ値が1点あるだけで相関が大きく見えることもあれば、曲線関係なのに r が小さく出ることもあります。
3. Pearson は「線形関連」をみる
Pearson の相関は、特に直線的な関連を要約する指標です。今回の例では、睡眠時間が長い人ほど疲労感スコアが低いという、右下がりの関係を確認します。
4. 相関は因果そのものではない
相関があるからといって、ただちに「睡眠時間が原因で疲労感が変わった」とは言えません。第三の変数や測定条件の影響も考えながら書くことが大切です。
Basics
分析の概要と前提条件
どんなときに使うか
ピアソンの相関は、2つの連続変数の線形な関連の方向と強さを知りたいときの基本手法です。身長と体重、学習時間と得点、睡眠時間と疲労感のような組み合わせでよく使います。
必要なデータ形式:1行が1観測で、今回なら sleep_hours と fatigue_score が同じ行に並ぶ形です。
向いている場面
- 2つの数値変数の関係を、まず r で短く要約したいとき
- 散布図でみると、おおむね直線で近似できそうなとき
- 回帰に進む前に、関連の方向と強さをつかみたいとき
別の方法を考える場面
- 順序尺度や単調関係をみたいなら Spearman の順位相関が候補です
- 説明変数が1つで変化量も知りたいなら単回帰分析へ進みます
- 他の変数を調整したいなら重回帰分析や偏相関を検討します
r をどう読むか
今回のサンプルでは、睡眠時間と疲労感スコアの相関は r = −0.804 でした。これは、睡眠時間が長いほど疲労感が低いという比較的強い負の線形関連を示します。
- 各観測ペアが正しく対応づいていること
- 観測どうしが独立していること
- 散布図でみて、関係が極端に曲線的でないこと
- 少数の外れ値が相関を不自然に引っ張っていないこと
Assumption check
前提条件はどう確認するか
相関分析では、散布図 → 外れ値 → 変数の性質の順で見ると、初心者でも迷いにくくなります。
1. 散布図で直線っぽさを見る
点が全体として右上がり・右下がりに並んでいれば Pearson が使いやすい形です。U字型のように曲がっている場合は、r だけでは関係をうまく要約できません。
2. 極端な点がないかを見る
たった1点の極端な観測があるだけで、相関係数が大きく変わることがあります。散布図の端で孤立した点がないかを確認します。
3. 欠測の扱いをそろえる
Pearson の相関はペアになった2変数で計算します。どちらか一方だけ欠けている行をどう扱うかは、分析前にそろえておきます。
4. 単調だが直線でないなら Spearman
「増えると減るが、直線というより曲線に近い」「尺度が順序尺度」という場合は、順位相関の方が素直なことがあります。
Data structure
データの形をつかむ
ここでは、30 人の睡眠時間と疲労感スコアを使います。睡眠時間の平均は 6.84 時間、疲労感スコアの平均は 5.49 です。
サンプルデータの先頭
| id | sleep_hours | fatigue_score |
|---|---|---|
| 1 | 4.2 | 7.3 |
| 2 | 4.5 | 6.3 |
| 3 | 5.3 | 7.8 |
| 4 | 5.0 | 5.0 |
| 5 | 5.5 | 6.3 |
| 6 | 5.5 | 6.7 |
| 7 | 5.2 | 7.6 |
| 8 | 5.8 | 7.9 |
相関分析の要約
| 指標 | 値 | 補足 |
|---|---|---|
| 標本数 n | 30 | paired observations |
| 相関係数 r | -0.804 | 負の相関 |
| 95%CI | -0.903 〜 -0.624 | Fisher の z 変換ベース |
| 検定統計量 | t(28) = -7.15 | p < 0.001 |
この時点で、sleep_hours が長い人ほど fatigue_score が低そうだと予想できます。実際に cor.test() を実行すると、かなり明瞭な負の関連が確認できました。
R code
Rコードを順番に実行する
library(tidyverse)
dat <- read.csv("sample-data/sample_pearson_correlation_sleep_fatigue.csv")
dat %>%
summarise(
n = n(),
mean_sleep = mean(sleep_hours),
sd_sleep = sd(sleep_hours),
mean_fatigue = mean(fatigue_score),
sd_fatigue = sd(fatigue_score)
)
head(dat)
ct <- cor.test(
dat$sleep_hours,
dat$fatigue_score,
method = "pearson"
)
ct
# 相関係数だけを取り出す
cor(dat$sleep_hours, dat$fatigue_score, use = "complete.obs")
library(ggplot2)
ggplot(dat, aes(x = sleep_hours, y = fatigue_score)) +
geom_point(size = 2.6, alpha = 0.85) +
geom_smooth(method = "lm", se = FALSE, linewidth = 1.1) +
labs(
x = "Sleep hours",
y = "Fatigue score",
title = "Relationship between sleep hours and fatigue"
) +
theme_minimal(base_size = 13)
# 外れ値や曲がりの有無を確認するために
# まずは散布図を丁寧に見るのが基本です
Output
出力のどこを読めばよいか
相関分析では、r の符号、95%信頼区間、p 値の順に見ると整理しやすくなります。
負の関連
0 をまたがない
p < 0.001
睡眠時間が長いほど疲労感は低い
この出力をどう解釈するか
このサンプルでは、睡眠時間と疲労感スコアの間に有意な負の相関が認められました(r = -0.804, 95%CI -0.903 〜 -0.624, t(28) = -7.15, p < 0.001)。したがって、睡眠時間が長い人ほど疲労感が低い傾向が示唆されます。
ただし、相関係数は方向と強さの要約であり、因果の証明ではありません。また、今回の負の関連が十分に直線的かどうかは、次の散布図で確認する必要があります。
Figure reading
散布図と回帰直線をどう読むか
図1 睡眠時間と疲労感スコアの散布図および回帰直線
Figure 1. Scatter plot of sleep hours and fatigue score with the fitted line.
右下がりかどうか
点が全体として右下がりに並び、睡眠時間が長いほど疲労感スコアが低い傾向が見て取れます。
1本の直線でおおむね表せるか
極端な曲がりは目立たず、Pearson の相関係数で線形関連を要約しやすい図です。
端の点に引っ張られていないか
図の両端にだけ点が集まっていると r が大きく見えることがあります。今回は中間域にも点があり、全体として傾向が見えています。
散らばりの大きさも見る
相関が有意でも、完全に一直線に並ぶわけではありません。個人差や測定誤差が残っていることも図から読み取れます。
Report writing
レポートや論文での書き方
Japanese
結果記述例(日本語)
ピアソンの相関分析の結果、睡眠時間と疲労感スコアの間には有意な負の相関が認められた(r = -0.804, 95%CI -0.903–-0.624, p < 0.001)。図1に両変数の散布図を示した。睡眠時間が長い参加者ほど、疲労感スコアが低い傾向が観察された。
English
Report writing example
Pearson's correlation analysis showed a significant negative correlation between sleep hours and fatigue score (r = -0.804, 95% CI -0.903 to -0.624, p < 0.001). Figure 1 presents the scatter plot, indicating that participants with longer sleep duration tended to report lower fatigue scores.
Caption
図表キャプション例
図1 睡眠時間と疲労感スコアの散布図および回帰直線
Figure 1. Scatter plot of sleep hours and fatigue score with the fitted line.
Common mistakes
よくあるミス
散布図を見ずに r だけ書く
外れ値や曲線関係を見落とすと、r の解釈を誤ります。相関係数は図とセットで読むのが基本です。
相関をそのまま因果と書く
「睡眠時間が長いから疲労感が下がった」と断定するには、研究デザインや交絡の検討が必要です。相関ページではまず関連として記述します。
順序尺度や曲線関係にも Pearson を当てる
Likert 尺度のような順序データや、明らかな曲線関係には別の指標の方が合うことがあります。データの性質に応じて方法を変えます。
FAQ
初心者がひっかかりやすい質問
Q. 相関分析と単回帰は何が違いますか?
A. 相関分析は関連の強さを r で要約し、単回帰は「x が1単位増えると y がどれだけ変わるか」を傾きで表します。散布図は似ていますが、出てくる量の意味が違います。
Q. 負の相関は悪い意味ですか?
A. いいえ。負の相関は「一方が増えるほど、もう一方が減る傾向」を表すだけです。今回の例では、睡眠時間が長いほど疲労感が低いという、むしろ望ましい方向の関連です。
Q. p 値が有意なら強い相関ですか?
A. 有意かどうかと、どれだけ強いかは別です。強さは r の大きさで見ます。大きなサンプルでは、弱い相関でも有意になることがあります。
Q. 片方の変数に外れ値があるときは?
A. まず散布図で確認し、測定ミスか、妥当な観測かを判断します。必要に応じて Spearman の順位相関もあわせて確認すると安心です。
代替手法
代替手法・次のステップ
研究課題やデータ構造が少し変わると、選ぶべき手法も変わります。このテーマを土台にしつつ、どの条件で別の方法へ進むかを押さえておくと、分析計画が立てやすくなります。
Spearman の順位相関
単調関係はありそうだが直線ではなさそう、あるいは順序尺度を扱いたいときは Spearman が候補です。
単回帰分析
関連を「x が1単位増えると y がどれだけ変わるか」で説明したいなら、lm() による単回帰分析が自然な次の一歩です。
偏相関・重回帰
年齢や性別など、別の要因を調整したうえで関連を見たいなら、偏相関や重回帰分析を検討します。
参考資料
参考資料
このページの内容を深掘りしたいときに役立つ、公式ドキュメントと一次資料をまとめています。まずは関数の仕様、その次に補助的な可視化や読み方の資料を見ると理解しやすくなります。
運営と利用上の注意
このページの位置づけ
本サイトのトピックページは、Rによるデータ分析の学習支援とレポート作成の補助を目的としたオリジナル解説です。サンプルデータとコードは再現練習用に作成しているため、実データを扱う際には研究計画・前提条件・欠測・外れ値・尺度水準をあらためて確認してください。
編集方針
ページ本文は、標準的な統計手法、Rの公式ドキュメント、一次資料に近い参考文献を優先して整理しています。更新や訂正の方針は編集方針ページで公開しています。