#author("2025-09-29T08:57:29+09:00;2025-09-29T08:30:03+09:00","default:inoue.ko","inoue.ko") #author("2025-09-29T14:46:49+09:00","default:inoue.ko","inoue.ko") *第3回 統計解析2 [[データサイエンス/2025]]|[[受講生一覧>https://design.kyusan-u.ac.jp/socialdesign/?%E3%83%87%E3%83%BC%E3%82%BF%E3%82%B5%E3%82%A4%E3%82%A8%E3%83%B3%E3%82%B9]]|[[汎用シート>https://docs.google.com/spreadsheets/d/1Zpb946zBDAd-7B7pgLKDSC813X5j2okT8dNlX2y0JYs/edit?usp=sharing]] ~ ~ **前回の補足 ***基礎事項の確認 -スプレッドシートにおける数式の書き方 頭に = を付けて、その後に計算対象となるセル名を使った数式を書きます。 = A5 + B5 ・・当該セルに、A5 の値と B5 の値の和 A5、B5のセルの内容が変わると、自動的に計算結果も変わります。 -スプレッドシートにおける関数の書き方 =関数名(引数1, 引数2, ・・) この場合の引数1は、一般に計算対象となる「セル群」が入ります。 -スプレッドシートにおける小数部分のまるめ(四捨五入)について 小数点以下の桁数は、関数を使って丸める方法と、表示のみ桁数を揃える方法があります。 --関数を使って丸める場合は、以下のように書きます。 =ROUND( 数値または関数 , 小数点以下の桁数) --表示のみ桁数を揃えたい場合は、以下の2つの方法があります。 表示形式を揃えたいセル範囲を選択し、 1) [ホーム]タブ>[小数点以下の表示桁数を増やす] / [減らす]ボタン 2) [セルの書式設定]ダイアログボックス>[表示形式]タブ> [数値] >「小数点以下の桁数」を設定 --ただし、最終的に紙の書類が必要になる事務業務(お金の計算)では、以下のような現象が起きるので注意が必要です。 内部データ:3.33・・+3.33・・+3.33 = 9.99・・ 表示データ:3 + 3 + 3 = 10 印刷書類で見ると「1円がどこかへ消えた?」となってしまいます。 ~ ***セルの相対指定と絶対指定 数式・関数を他のセルに複製した場合は、引数となるセルの位置は、自動的に相対的な位置関係を保って複製されます。 =sum(B2:B11) を右隣のセルに複製すると、 =sum(C2:C11) となります。 逆に、どこに複製しても参照セルが動かないようにするには、 [ $ ] 記号を使って、 参照セルを「絶対指定」の形で表記します。 = B2 / $A$100 は、下のセルに複製すると = B3 / $A$100 となります。 分子は相対的に移動しますが、分母となるデータは固定的な場所を参照します。 ~ ***絶対指定の利用例|偏差値の計算 -以下のシートにサンプルがあります。データ部分のみコピーして、計算部分(黄色のアミかけ部分)を自身で実装してみて下さい。 __[[偏差値の計算サンプル>https://docs.google.com/spreadsheets/d/1hzFHeAqr_ww2tKLg1HljtSnUofTpcXtiTumtmhbjNsQ/edit?usp=sharing]]__ -データは、学生ID(通し番号)と 得点が並んでいるだけです。 -表の上部の適当なセルに、平均と標準偏差を求めて下さい。 -各レコード(各学生)の得点に右に「偏差値」が出るようにします。 -数式の入力は一箇所、あとはオートフィルで埋めます。 ~ ***解説 この種の計算とオートフィル(あるいは複製)では、単純に式を書くと、平均値と標準偏差の参照セルの位置が相対的にズレてしまいます。得点のセルは、常に「自分の左」という相対的な位置にありますが、平均と標準偏差は、参照データのある場所が決まっているので「絶対的な位置」を参照する必要があります。 -偏差値を求める計算式は以下。$ はセルの絶対指定を意味します。 =( 得点のセル - $平均値のセル)/ $標準偏差のセル * 10 + 50 -サンプルでは以下のように書いています。 =(B6-$B$3)/$C$3 * 10 + 50 -この例では縦方向にオートフィルするので、参照先の行位置が固定されていれば、列は相対指定でも構いません。よって以下の式でも結果は同じです。 =(B6-B$3)/C$3 * 10 + 50 ~ ~ **相関 統計分析では、個々のカテゴリ項目の代表値や散布度の把握と並んで、項目間の連動関係を見出す作業も重要です。例えば成績一覧表から「数学の点数が高い学生は物理の点数も高い」など、項目間に連動が見られる場合を「相関がある」と言います。 ~ #image(Statistics/Correlation/correlation.jpg,center, 75%) ~ ***共分散 はじめに「共分散」の概念から説明します。共分散とは「国語の点数 X」と「数学の点数 Y」のような2組の対応するデータについて「X の偏差 × Y の偏差」の平均 を取った値です。 #mathjax( s_{xy} = \frac{1}{n} \sum_{i=1}^{n}(x_{i}-\bar{x})(y_{i}-\bar{y} ) ) -共分散の値が正:X が大きいときに Y も大きくなる傾向がある -共分散の値が 0: X と Y には関係がない -共分散の値が負:X が大きくなると Y が小さくなる傾向がある ~ ***相関係数 2つの変数の間の関係を測る指標で、「数学の点数が高い人は物理の点数も高い」など、「ああであれば、こうである」ということの程度を示します。相関係数 r が正のとき確率変数には正の相関が、負のとき確率変数には負の相関があるといいます。 #mathjax( r = \frac{(xとyの共分散) }{ (xの標準偏差) \times (yの標準偏差) } ) -&mathjax(r); は -1.0 から +1.0 までのいずれかの値をとる -&mathjax(| r |); が 1.0 に近いほど相関が強く、0に近いほど相関が弱い レポート等で相関の有無について語る場合、一般的な目安は以下です。 -| r | = 0.7~1.0 かなり強い相関がある -| r | = 0.4~0.7 やや相関あり -| r | = 0.2~0.4 弱い相関あり -| r | = 0~0.2 ほとんど相関なし //-詳細はこちら >__[[Statistics/Descriptive]]__ ~ ~ **相関関係と因果関係について 私たちが身の回りの観察から見出す物事の「関係」には、「身長が高い人は体重も大きい」というタイプの相関関係(共変動)と、「気温が上がると清涼飲料水の売上が上がる」というタイプの因果関係とがあります。 ~ ***データ解析が見出すのは「相関」 一般に、大量のデータにもとづく統計的な解析や機械学習から得られるのは「相関関係」であって因果関係ではありません。相関関係(共変動)というのは因果関係の前提に過ぎないので、判断や方針決定には注意が必要です。 経験的に観察された共変動は、因果関係の必要条件だが十分条件ではない &small(Edward Tufte); ~ ***誤謬に注意 統計処理によって何らかの関係が見出された場合も、それを結論づける前に、そこに以下のような誤謬((論証の過程に論理的・形式的な瑕疵があって、その論証が妥当でないこと(簡単に言えば「間違っている」)を誤謬と言います。))がないか注意深く検討することが必要です。 -擬似相関(第3の要因が共通原因となっている) 「チョコレートの摂取量」と「ノーベル賞の受賞者数」に正の相関 経済的に豊かであることが両者の共通要因 「小学生の身長」と「論理的思考力」に正の相関 学年が上がることが両者の共通要因 -因果関係の逆転 交番の数が多い地域ほど、犯罪件数が多い 犯罪件数が多い地域だから交番が多く設置された 猫が顔を洗うと雨が降る 雨が降る前の湿度上昇が、センサーであるひげを拭う行為を誘発 ~ ~ **演習3|相関係数 ***サンプルデータの準備 -[[教育用標準データセット|SSDSE>https://www.nstac.go.jp/use/literacy/ssdse/]]にある「SSDSE-基本素材(SSDSE-E)」を利用します。以下からダウンロードして下さい。 --https://www.nstac.go.jp/sys/files/SSDSE-E-2024.xlsx --データの解説:https://www.nstac.go.jp/sys/files/kaisetsu-E-2024.pdf --https://www.nstac.go.jp/sys/files/SSDSE-E-2025.xlsx --データの解説:https://www.nstac.go.jp/sys/files/kaisetsu-E-2025.pdf -GoogleDrive > マイドライブ > DataScience に、ダウンロードした基礎データをアップロードして下さい。 -アップしたファイルをダブルクリックすると、ファイルがGoogleスプレッドシートで開かれます。 -''メニュー > ファイル > 「Googleスプレッドシートとして保存」''としてから利用することを推奨します。 ~ ***相関係数の計算 項目間の相関係数を計算してみましょう。 -元データは、全国の集計行と都道府県の47行あります。 -一番上の「全国」の行を削除、あるいは色分けして、間違って計算対象に含めないように処理して下さい。 -あなたの興味関心にもとづいて、いくつかの項目のペアを選んで下さい。 -列を移動して、ペアとなる列が横並びになるようにして下さい。 -ペアの右に空の列を挿入して、その一番上の行に、相関係数を求める式を記述して下さい。Excel でも GoogleSpreadsheet でも、関数式は同じです。 =CORREL(範囲1, 範囲2) 例 =CORREL(C4:C50,D4:D50) -列のペアを複数(数は任意)つくって、いろいろ試してみて下さい。 -「◯◯の値が大きな県は、△△の値も大きい」といった知見が得られると、面白い・・となるでしょう。 付記:サンプルデータのように比較可能な項目が多い場合は、すべての項目間について一括で「相関行列」を作るのが一般的です。「相関行列」は Python を使うと簡単に得られるので(後の授業で紹介・体験します)、ここでは手動で簡単に体験するにとどめます。 ~ ***演習サンプル 以下、実際に相関係数を計算したサンプルです。 __[[相関係数の計算(SpreadSheet)>https://docs.google.com/spreadsheets/d/1GBojVCJwzAhJVohqVVKMvVI4OZBhyIm8_-pXMO77QWM/edit?usp=sharing]]__ ~ ***学科サイトで学科サイトにリンク掲載 -1. Spreadsheet を開いた状態で、右上の「共有」をクリック -2. 共有設定を変更して、以下のように表示される状態にします。 このリンクを知っているインターネット上の全員が閲覧できます。 -3. 「リンクをコピー」をクリックして、そのアドレスを、以下の形式で、学科サイトにリンク掲載して下さい。 -[[相関係数の計算事例>https://docs.google.com/spreadsheets/・・=sharing]] -4. 以下のようになればOKです。 https://design.kyusan-u.ac.jp/socialdesign/?JohnSmith/DataScience ~ ***付記 -[[Googleスプレッドシートで相関係数を求めてグラフ化する方法>https://ponicom.net/correl/]] ~ ~ **APPENDIX ***散布図から見える「データの特徴」について 相関のある現象では、直感的に散布図の中心を通る直線を想定することができますが、その直線上の点は、2つの変数がとる「平均的な組み合わせ」と見ることができます。例えば、横軸:身長、縦軸:体重としてデータをプロットした散布図では、ある個人のデータが、想定される直線に乗っていれば標準的、直線よりも下にある場合、その人は「痩せている」・・というぐあいに、データの特徴を語ることができます。ちなみに、この直線のことを__[[「回帰直線」>GoogleImage:回帰直線]]__と言います。 ~ ***前処理段階でのデータのコピーミスに注意して下さい 散布図上で、極端な「外れ値」がある場合は、データの前処理段階でコピーミス等がないか確認して下さい。''元データの一番上の行は「全国の合計」です。コピーミスでこれを先頭の北海道に位置付けてしまうと、すべてのデータが1行ずつズレます。過去の演習ではこのミスが散見されます。北海道だけ外れ値になっている方は、再確認をお願いします。'' &color(red){スプレッドシートは非常に便利なツールですが、コピーの際に行がズレるというミスは、実際の業務では大事故につながります。データの扱いには十分注意する癖をつけましょう。}; ~ ~ ~