(教員の課題研究向け)統計言語RとChatGPTを使って、児童アンケートを主成分分析する方法の提案;Proposed method for principal component analysis of child questionnaires using the statistical language R and chatGPT.
1.中堅研の特定課題研究
昨年度は、教職10年目に行う中堅教諭等資質向上研修でした。
特定課題研究は、デジタル・シティズンシップ教育について行いました。以下にデータを載せておきます。良かったら見て下さい。
今回は、その内容でなく、課題設定をするにあたり、どのような方法で児童アンケートを分析したのかと、AIが使える今だからこそできる分析方法を提案しようと思います。
2.統計言語Rとその使い方
統計言語RとRStudioは、データ分析や統計解析に利用されるオープンソースのソフトウェアです。Rは、統計処理やデータの可視化、機械学習など、さまざまなデータ解析のタスクを実行できるプログラミング言語です。
Rは、統計解析に必要な機能が豊富に備わっているため、統計解析を専門に行う人々によく利用されています。
RStudioは、Rを使いやすくするための開発環境で、データの可視化や統計解析の操作を直感的に行うことができます。RStudioを使うことで、コードの入力や実行、データの可視化や分析結果の保存が簡単に行えます。
また、Rコマンダーとは、Rの機能をより簡単に利用するためのユーザーインターフェース(UI)です。Rコマンダーを使うことで、Rのコードを書く必要がなくなり、マウスとキーボードだけでデータの読み込みやグラフの描画、統計解析の実行ができます。
国際開発センター(IDCJ)佐々木亮氏の 統計分析ソフトRによるデータ分析マニュアルが非常に参考になります。
https://www.idcj.jp/pdf/R_manual_sasakiryo.pdf
以下は、RとRStudioの参考情報です。
3.主成分分析について
主成分分析は、たくさんのデータがあるときに、そのデータを少ない数の要素にまとめることができる方法です。例えば、果物屋さんがたくさんの果物のデータを持っている場合、果物の色、形、大きさ、重さなどの要素があるかもしれません。しかし、これらの要素をすべて考慮すると、データがとても複雑になってしまいます。
そこで、主成分分析を使うことで、果物のデータを色、形、大きさ、重さなどの要素をまとめて、果物の「美味しさ」という要素だけに絞り込むことができます。これにより、データがとても単純化され、データを扱いやすくなるというメリットがあります。
主成分分析では、複数の要素を持つデータを数学的に処理して、少ない数の「主成分」という要素に変換します。
例えば、果物屋さんがたくさんの果物のデータを持っている場合、果物の色、形、大きさ、重さなどの要素を使って、主成分分析を行うことができます。主成分分析を行うことで、色、形、大きさ、重さなどの要素を総合的に評価した「美味しさ」という要素を得ることができます。これにより、果物のデータが単純化され、扱いやすくなるというメリットがあります。
主成分分析は、複雑なデータを扱うための非常に有用な手法であり、様々な分野で利用されています。
Rコマンダーを使った主成分分析の方法については、以下のサイトが参考になります。
https://www.geisya.or.jp/~mwm48961/linear_algebra/principal1.htm
4.児童アンケートについて
デジタル・シティズンシップ教育は、情報モラルに関する領域なので、児童アンケート項目は、東京学芸大学の高橋純研究室が出していたものを使用しました。「当てはまる」を4点,「どちらかといえば当てはまる」を3点,「どちらかといえば当てはまらない」を2点,「当てはまらない」を1点として、児童のアンケート結果を数値化しました。
コンピュータやインターネットによって,生活や産業が変化していることをよく考えるようにしている
人の作ったものを大切にするようにしている
自分や友だちの個人情報を他の人に教えないようにしている
インターネット上のコミュニケーションで,相手と心のすれ違いが起きないようにしている
IDやパスワードを大切に管理するようにしている
インターネット上には,役立つ情報のほかに正しくない情報や危険な情報もあることをよく考えるようにしている
発信した情報に対して責任があることをよく考えるようにしている
コンピュータやインターネットの使いすぎによる健康への影響をよく考えるようにしている
インターネットはみんなのものであるということをよく考えるようにしている
5.Rでの主成分分析の結果
途中をかなり省いてしまいますが、Rコマンダーで児童のアンケート結果を主成分分析するとこのような結果が返されます。
Component loadings:
Comp.1
X1.コンピュータやインターネットによって.生活や産業が変化していることをよく考えるようにしている 0.2100624
X2.人の作ったものを大切にするようにしている 0.3258975
X3.自分や友だちの個人情報を他の人に教えないようにしている 0.3386742
X4.インターネット上のコミュニケーションで.相手と心のすれ違いが起きないようにしてる 0.3252607
X5.IDやパスワードを大切に管理するようにしている 0.3843476
X6.インターネット上には.役立つ情報のほかに正しくない情報や危険な情報もあることをよく考えるようにしている 0.3608144
X7.発信した情報に対して責任があることをよく考えるようにしている 0.3628382
X8.コンピュータやインターネットの使いすぎによる健康への影響をよく考えるようにしている 0.3013482
X9.インターネットはみんなのものであるということをよく考えるようにしている 0.3588836
Comp.2
X1.コンピュータやインターネットによって.生活や産業が変化していることをよく考えるようにしている 0.670219836
X2.人の作ったものを大切にするようにしている -0.460468209
X3.自分や友だちの個人情報を他の人に教えないようにしている -0.154063002
X4.インターネット上のコミュニケーションで.相手と心のすれ違いが起きないようにしてる 0.334535225
X5.IDやパスワードを大切に管理するようにしている -0.271433021
X6.インターネット上には.役立つ情報のほかに正しくない情報や危険な情報もあることをよく考えるようにしている 0.118928144
X7.発信した情報に対して責任があることをよく考えるようにしている 0.005000287
X8.コンピュータやインターネットの使いすぎによる健康への影響をよく考えるようにしている 0.276049011
X9.インターネットはみんなのものであるということをよく考えるようにしている -0.197679857
Comp.3
X1.コンピュータやインターネットによって.生活や産業が変化していることをよく考えるようにしている 0.5344720
X2.人の作ったものを大切にするようにしている 0.1476286
X3.自分や友だちの個人情報を他の人に教えないようにしている -0.2814967
X4.インターネット上のコミュニケーションで.相手と心のすれ違いが起きないようにしてる -0.4165100
X5.IDやパスワードを大切に管理するようにしている 0.1317598
X6.インターネット上には.役立つ情報のほかに正しくない情報や危険な情報もあることをよく考えるようにしている 0.1606447
X7.発信した情報に対して責任があることをよく考えるようにしている 0.2515180
X8.コンピュータやインターネットの使いすぎによる健康への影響をよく考えるようにしている -0.5659315
X9.インターネットはみんなのものであるということをよく考えるようにしている 0.1145311
Component variances:
Comp.1 Comp.2 Comp.3 Comp.4 Comp.5 Comp.6 Comp.7 Comp.8
4.8129294 0.9873745 0.7942811 0.6137115 0.5156204 0.3870624 0.3286176 0.3104148
Comp.9
0.2499882
Importance of components:
Comp.1 Comp.2 Comp.3 Comp.4 Comp.5
Standard deviation 2.1938390 0.9936672 0.89122452 0.78339739 0.71806711
Proportion of Variance 0.5347699 0.1097083 0.08825346 0.06819016 0.05729115
Cumulative Proportion 0.5347699 0.6444782 0.73273168 0.80092184 0.85821299
Component loadings (因子負荷量):各主成分に含まれる元の変数の重要度を示す数値です。どの変数がその主成分に強く関連しているかを表しています。
Component variances (因子分散):各主成分の重要度を示す数値です。主成分がもとのデータをどの程度説明できるかを表しています。
Importance of components (因子の重要性):各主成分の重要性を示す数値です。データ全体のどの程度を説明できるかを表しています。
Cumulative Proportion (情報のカバー率):データ全体のどの程度が主成分によって説明されているかを表す数値です。主成分が多いほどカバー率が高くなります。
Standard deviation (標準偏差):主成分の標準偏差を表す数値です。データの散らばり具合を示しています。値が大きいほど、データの散らばりが大きいことを示します。
Proportion of Variance (分散説明率):各主成分がもとのデータのどの程度を説明できるかを示す数値です。Comp.1は、もとのデータの約53%を説明できることを示しています。
Cumulative Proportion (累積寄与率):累積のProportion of Varianceを表す数値です。例えば、Comp.1からComp.5までを合計すると、もとのデータの約85%を説明できることを示しています。この値が高いほど、主成分の説明力が高いことを示します。
6.主成分分析はデータの解釈が難しい
主成分分析によって得られた主成分は、もとの変数の線形結合で表されますが、その主成分自体には、直接的な意味がありません。主成分を解釈することは、しばしば難しいとされます。
例えば、ある学校の生徒の性格を分析するために、以下のような項目を調査したとします。
活発さ、社交性
勉強熱心さ、学業成績
素直さ、協調性
自己主張、個性
これらの項目を主成分分析すると、以下のような主成分が得られたとします。
Comp.1: 社交性と活発さに強く関連する主成分
Comp.2: 勉強熱心さと学業成績に強く関連する主成分
Comp.3: 協調性と素直さに強く関連する主成分
Comp.4: 自己主張と個性に強く関連する主成分
この場合、Comp.1が大きい生徒は、社交性と活発さが高いと解釈できます。しかし、Comp.2やComp.3、Comp.4に関しては、生徒の性格について直接的な意味を持っていないため、解釈が難しくなります。また、主成分の解釈には、専門的な知識や背景知識が必要とされることが一因ですが、因子負荷量を用いて解釈することも難しい場合があります。
因子負荷量は、各変数が主成分にどの程度寄与しているかを表す指標であり、主成分の解釈において重要な情報を提供します。しかし、因子負荷量が高い変数が必ずしもその主成分の解釈に重要であるとは限りません。例えば、ある主成分に対して因子負荷量が高い変数があっても、その変数が他の主成分にも寄与している場合、その変数がその主成分を解釈する上で重要であるとは限りません。
主成分の解釈は、専門的な知識や背景知識が必要とされます。例えば、ある分野の専門家は、その分野に特化した解釈ができることがあります。また、主成分を分析する前に、元のデータや分析目的について深く理解することも大切です。
7.データの解釈にChatGPTを使う
私自身は、自分でデータの解釈を行いましたが、2022年の12月以降、世界は変わっていました。
今回使ったプロンプトです。より良いレポートを生成するため、ChatGPTからこちらに質問してもらう動作を入れています。いつも見ている以下のYouTubeチャンネルの方のものを参考にしました。
# 命令書
あなたは、優秀なデータアナリストです。教育についても深く理解しています。
以下の制約条件と入力をもとに、分析レポートを出力してください。
## 制約条件
* 主成分の寄与率、主成分の解釈、累積寄与率など、客観的な数値を根拠に挙げながら分析レポートを書く。
* 総合考察では、教育と関連させて具体的かつ丁寧に説明する。
* 専門用語を使用しない。
* フォーマットは以下に従ってください。
### 分析結果の概要
|主成分|特徴|
| :--: | ---- |
|第1主成分|特徴1|
|第2主成分|特徴2|
|第3主成分|特徴3|
※必要に応じて主成分の数を増やすこともできます。
### 各主成分の分析結果の詳細
### 総合考察
## 次のプロセスに従うこと
1. あなたの最初の応答は、分析レポートが何についてであるべきかを私に尋ねることです。私は私の答えを提供しますが、次のステップを経て、継続的な反復を進じで改善する必要があります。
2. 私の入力に巻づいて、2 つのセクションを生成します。
* 改訂された分析レポート(書き直された分析レポートを提供します。明確、簡潔で、簡単にあなたが理解できるものにする必要があります)
* 提案(分析レポートを改善するために、含めるべき詳細について提案する)
* 質問(分析レポートを改善するために、私から必要な追加情報について、関連する質問をしてくだい)
3. この反復プロセスは、私があなたに追加情報を提供し、あなたが改訂された分析レポートセクションの分析レポートを更新し、私が完了したというまで続けます
## 入力
<ここにRで計算した結果を入力する。>
## 出力
先ほどの結果を入力すると以下のようになりました。詳しくは、次の項目でご覧ください。
8.ChatGPTが作成した分析レポート
分析結果の概要
第1主成分:情報モラルに関する態度
第2主成分:技術変化に対する意識
第3主成分:インターネット利用の健康への影響
各主成分の分析結果の詳細
第1主成分 - 情報モラルに関する態度:
個人情報の管理(0.3387)
IDやパスワードの保護(0.3843)
インターネット上の情報の正確性に対する意識(0.3608)
発信した情報に対する責任(0.3628)
第2主成分 - 技術変化に対する意識:
コンピュータやインターネットによる生活や産業の変化への関心(0.6702)
インターネット上のコミュニケーションでのすれ違いへの注意(0.3345)
第3主成分 - インターネット利用の健康への影響:
コンピュータやインターネットの使いすぎによる健康への影響への関心(-0.5659)
総合考察
この分析レポートは、小学校6年生を対象に情報モラルに関する実態調査を行い、その結果をもとに、情報モラルに関連する要素を抽出しています。第1主成分は、情報モラルに関する態度を表しており、個人情報の管理やID・パスワードの保護、インターネット上の情報の正確性への意識、発信した情報に対する責任などが含まれています。
第2主成分は、技術変化に対する意識を示しており、生活や産業の変化への関心やインターネット上のコミュニケーションでのすれ違いへの注意が含まれています。これは、子どもたちが情報技術の変化にどのように適応しようとしているかを示す指標となります。
第3主成分は、インターネット利用の健康への影響に関心があることを示しています。特に、コンピュータやインターネットの使いすぎによる健康への影響に対する懸念がこの主成分で強調されています。これは、子どもたちがインターネット利用と健康とのバランスをどのように考えているかを示す重要な指標です。
分析結果を教育の観点から考察すると、情報モラル教育において、個人情報の管理やID・パスワードの保護、情報の正確性への意識、発信した情報に対する責任などの基本的なスキルや態度を育成することが重要です。また、技術変化に対する意識やインターネット利用と健康とのバランスに関する教育も、子どもたちが安全かつ効果的にインターネットを活用できるようにするために重要です。
改訂された分析レポート
(ここに改訂された分析レポートを提供します)
提案
教育プログラムを開発する際に、上記の主成分に基づいて情報モラル教育のカリキュラムを組み立てる。
情報モラル教育において、具体的な事例やシミュレーションを用いて、子どもたちが実践的なスキルを身につけられるようにする。
質問
この調査の対象となった小学校6年生は、どのような地域や学校の子どもたちですか?
今回の分析結果をもとに、今後の情報モラル教育について取り組むべき課題や改善点は何だと考えられますか?
9.おわりに
ちなみに僕は、同じデータを使って以下のように分析して研究を進めていました。
比べてみると、例えば、
僕は第二主成分を「合理的に活用しようとする意識と情緒的に抑制しようとする意識」と解釈しましたが、AIは「子どもたちが情報技術の変化にどのように適応しようとしているかを示す指標」と解釈していました。
確かに今思うと、IDの管理などに関して、学校の指導と結び付けて「情緒的抑制」と解釈してよかったのか、と考えてしまいます。あの時は間違ってないと思ってたんだけど。
基本的な分析レポートですが、9項目のアンケートが
第1主成分:情報モラルに関する態度
第2主成分:技術変化に対する意識
第3主成分:インターネット利用の健康への影響
の3項目に絞ることができ、さらに教育プログラムの提案や、追加の質問があるので、課題研究に取り組むときの相談相手としてもよいかと思います。
RとChatGPTを合わせているので、ハードルは少し高いですが、今年度課題研究がある方は、統計学の勉強と合わせて、試してみてはいかがでしょうか?
あと、ここまで読んでいただいた方、本当にありがとうございます。