データ分析の始め方|初心者が小さなデータで学ぶプログラミングと実践手順
「データ分析を学びたいけれど、何から始めればよいのか」「PythonやSQLを覚えなければ、分析はできないのか」。データサイエンスに興味を持っても、学ぶ内容の多さに迷うことがあります。
最初は、小さな表を使って、問いを決める・データを確認する・集計する・結果を説明するところまで取り組んでみましょう。その過程で必要になる操作を学ぶと、プログラミングを何のために使うのかも明確になります。
この記事では、初心者向けにデータ分析の進め方を整理します。架空の学習記録を例に、集計するときの注意点と、Pythonなどを学ぶ順序を紹介します。
目次
1.データ分析は、小さなデータから始められる
データサイエンスは、統計・計算技術・対象分野の知識などを組み合わせ、データから知見を得る分野です。分析対象はビッグデータに限らず、学習記録やアンケート、売上の一覧なども入口になります。
少量のデータには、計算結果を手作業で確かめやすいという利点があります。最初は、自分で内容を確認できる表を使い、処理と結果の関係を理解していきましょう。
ビッグデータとの違い
ビッグデータは、データの量、多様性、生成速度などにより、保存や処理の仕組みに工夫が求められるデータを指します。NISTの用語集でも、こうした特性と、効率よく扱うための拡張可能な仕組みを関連付けています。
画像や音声だけでなく、表形式の取引記録なども対象になり得ます。「何行以上ならビッグデータ」と一律に区切るより、データの特性と、必要な処理を合わせて考えましょう。
データサイエンス・ビッグデータ・AIの違いから整理したい方は、こちらの記事でそれぞれの役割と関係を確認できます。
データサイエンスとは?ビッグデータ・AIとの違いと初心者の学習手順 記事を読む →2.最初に「何を調べ、何に使うか」を決める
最初の分析では、答えを確かめられる問いを一つ設定します。「学習記録を分析する」より、「単元別の正答状況を整理して、解き直す問題を選ぶ」とすると、必要な項目や集計方法を考えやすくなります。
総務省統計局では、問題解決の流れとして、問題・計画・データ・分析・結論からなる「PPDACサイクル」を紹介しています。次の表は、その考え方を学習記録の分析に当てはめた例です。
| 段階 | 学習記録で行うこと |
|---|---|
| 問題 | 解き直す問題を選ぶために、単元別の正答状況を知りたい |
| 計画 | 対象期間、単元、初回回答か解き直しか、集計方法を決める |
| データ | 問題数・正解数などを集め、記録漏れや重複を確認する |
| 分析 | 単元別に集計し、正答率と問題数を確認する |
| 結論 | 確認できた傾向と限界を整理し、誤答内容を調べる |
集計してから、問題の難易度や回答条件を記録していなかったことに気づく場合もあります。そのときは結論を無理に出さず、計画やデータの集め方に戻って見直しましょう。
3.練習例:学習記録を集計してみる
ここでは、ある学習者が取り組んだ問題の記録を使います。以下は説明用の架空のデータであり、実際の学習効果を示すものではありません。
1行が何を表すかを確認する
この表では、1行を「1回の演習」とします。すべて初回回答で、各回は別の問題に取り組んだものと仮定します。
| 記録 | 単元 | 問題数 | 正解数 |
|---|---|---|---|
| 1回目 | 条件分岐 | 10 | 8 |
| 2回目 | 条件分岐 | 10 | 6 |
| 3回目 | 繰り返し | 15 | 9 |
| 4回目 | 繰り返し | 15 | 7 |
実際の記録では、実施日、教材名、問題番号、ヒントの有無なども必要に応じて残します。ただし、項目を増やすほど入力の負担も増えるため、調べたいことに必要な範囲から始めてください。
正解数の合計を、問題数の合計で割る
単元別の正答率は、その単元の正解数の合計を問題数の合計で割って求めます。各回の問題数が異なる場合、各回の正答率を単純に平均した値とは一致しないことがあります。
| 単元 | 問題数の合計 | 正解数の合計 | 正答率 |
|---|---|---|---|
| 条件分岐 | 20 | 14 | 70.0% |
| 繰り返し | 30 | 16 | 約53.3% |
| 全体 | 50 | 30 | 60.0% |
全体の正答率は、30÷50×100=60%です。「条件分岐の70%」と「繰り返しの約53.3%」を単純に平均すると、問題数の違いが反映されません。何を1単位として平均しているのかを確認しましょう。
数値から言えることと、言えないことを分ける
この記録では、取り組んだ問題に対する正答率は「繰り返し」の方が低くなっています。そのため、繰り返しの誤答を先に確認する、という行動につなげられます。
ただし、この結果だけで「繰り返しの理解度は53.3%」「条件分岐より学力が低い」とは言えません。問題の難易度や出題内容が異なる可能性があり、単元全体を代表する問題がそろっているとも限らないためです。
次に、誤答が処理順の読み違いなのか、変数の値の追跡ミスなのかを確認します。集計結果を、具体的に調べる場所を見つける手掛かりとして使いましょう。
4.使う道具は、作業に合わせて選ぶ
上のような小さな表なら、表計算ソフトでも集計できます。最初から複数の言語を並行して学ぶ必要はなく、繰り返したい作業や、データの保存場所に合わせて道具を選びましょう。
| 道具 | 利用場面の例 | 最初に学ぶ操作 |
|---|---|---|
| 表計算ソフト | 小さな表を見ながら集計方法を確かめる | 並べ替え、絞り込み、合計、ピボットテーブル |
| Python | 同じ集計を繰り返す、複数のファイルを処理する | データの読み込み、列の選択、条件抽出、集計、保存 |
| R | Rを使う授業・研究環境で分析する | 表の読み込み、加工、集計、可視化 |
| SQL | データベースから必要なデータを取り出す | 列の選択、条件指定、グループ別集計、結合 |
例えば、CSVファイルだけを扱う最初の練習では、SQLを使わずに進めることもできます。一方、必要な記録がデータベースに入っているなら、SQLによる抽出が学習課題になります。
PythonとRのどちらから学ぶか迷った場合は、目的や周囲の環境から比較してみましょう。同じデータを使った入門例も紹介しています。
データ分析はPythonとRどちらから学ぶ?選び方と同じデータで試す入門例 記事を読む →5.Pythonは「読み込む・確かめる・集計する」の順で学ぶ
Pythonで表形式のデータを扱う場合、pandasというライブラリを利用できます。公式の入門資料でも、表の読み書き、データの選択、集計、グラフ作成などが紹介されています。
先ほどの学習記録を題材にするなら、次の順で操作を学んでみましょう。最初から機械学習まで進むより、集計結果を自分で確認できる状態を目指します。
- 基礎文法を確認する:変数、数値と文字列、リスト、条件分岐、関数の基本を学ぶ。
- 表を読み込む:CSVなどからデータを読み込み、列名と行数を確認する。
- 内容を点検する:空欄、重複、数値の型、値の範囲を調べる。
- 単元別に集計する:問題数と正解数を合計し、正答率を計算する。
- 結果を照合する:手計算した20問・14問、30問・16問と一致するか確かめる。
- 結果を保存する:集計表と、処理に使ったコードを残す。
AIにコード作成を手伝ってもらう場合も、期待する結果を先に用意しておくと確認しやすくなります。「エラーが出なかった」ことに加えて、行数や合計値が想定どおりかを調べてください。
同じ分析を再現できるようにする
元のデータは残し、加工したデータや集計結果を分けて保存しましょう。対象期間、除外した行、使用した列、集計方法も記録しておくと、数値が変わった理由を追いやすくなります。
コードを使う場合は、Pythonやライブラリのバージョンも記録します。自分で再実行する場合だけでなく、他の人に分析を確認してもらう際にも役立ちます。
6.データを整えるときに注意したいこと
空欄を自動的に0へ置き換えない
正解数が空欄の場合、「0問正解」と「記録していない」では意味が異なります。空欄をすべて0にすると、未記録の演習を全問不正解として扱ってしまいます。
元の記録を確認し、分からない場合は未記録として残すなど、扱いを決めましょう。集計から除外するときは、何件除外したかと、その理由も示してください。
極端な値は、理由を確認してから扱う
問題数が10なのに正解数が12なら、項目の定義や入力内容を確かめる必要があります。一方、10問中0問正解という記録は、数値だけを理由に誤りとは判断できません。
分析しやすい形に整えることと、都合の悪いデータを消すことは異なります。修正や除外を行う場合は、その判断を後から説明できるようにしましょう。
比較する条件をそろえる
初回回答と解き直し、ヒントありとヒントなしを混ぜると、正答率の意味が変わります。学習の変化を調べる場合は、問題の範囲や難易度、回答条件にも目を向けてください。
また、学習時間が長い日に正答率が高くても、それだけで学習時間が原因だとは言えません。内容への慣れや問題の違いなど、ほかの説明も考える必要があります。
実データを外部サービスへ渡す前に確認する
学校や職場の記録を扱う場合は、利用目的、共有できる範囲、組織のルールを確認します。氏名を消しただけで安全に共有できるとは限らず、複数の項目から個人を推測できる場合もあります。
最初の練習には、この記事のような架空のデータや、利用条件を確認した公開データを使う方法があります。AIに集計を依頼する場合も、入力してよい情報かを確認してから送信してください。
7.分析結果は「分かったこと・限界・次の行動」で伝える
集計表が完成したら、数字を並べるだけでなく、その結果をどう読むかまで整理します。先ほどの学習記録なら、次のように説明できます。
分かったこと
今回の記録では、条件分岐は20問中14問、繰り返しは30問中16問正解だった。
この分析の限界
問題の難易度がそろっているとは限らず、この正答率だけで単元全体の理解度は判断できない。
次の行動
繰り返しの誤答内容を確認し、間違えた処理を練習したうえで、類題に取り組む。
このように整理すると、確認できた事実と、これから確かめることを分けられます。新しいデータを追加したら、同じ条件で集計できるかも確認し、分析を更新していきましょう。
8.データ分析の学習でよくある質問
数学が苦手でも始められますか?
割合や平均を使った小さな集計から始められます。ただし、扱う手法によって必要な数学は変わります。予測モデルや統計的推測へ進む際には、確率・統計、線形代数、微分などを必要に応じて学びましょう。
高性能なパソコンは必要ですか?
この記事のような小規模な表の集計に、大規模な計算環境は必要ありません。データ量や処理内容が増えてから、メモリや実行時間などの不足を確認して環境を検討できます。
クラウド環境を利用する場合も、利用上限、料金、データの保存先、持ち込める情報を確認してください。クラウドなら無制限に処理できるわけではありません。
どれくらい勉強すれば、分析できるようになりますか?
前提知識と目標によって異なります。「何か月学んだか」だけでなく、読み込み、集計、結果の確認、説明を自分でできるかを目安にしましょう。
例えば、この記事の表を集計したあと、別の単元を追加しても処理できるか、空欄がある場合に気づけるかを試すと、次に学ぶ内容が分かります。
資格の勉強と実践は、どちらを先にするべきですか?
学習範囲を整理したいなら資格の出題範囲が参考になります。一方、知識を使えるか確認するには、実際にデータを扱う練習も必要です。学んだ内容を小さな分析で試す形で組み合わせてみましょう。
データ分析の学習を資格と結び付けたい方に向けて、DS検定・G検定・統計検定などの違いと、目的に合わせた選び方を整理しています。
データ分析のツール・資格の選び方|DS検定・G検定・統計検定を目的別に比較 記事を読む →9.最初の分析で確認すること
最初の課題は、大きなデータを処理することではなく、入力から結論までを自分で確認できる分析にしましょう。次の項目を振り返ると、やり残した作業を整理できます。
- 何を調べ、結果を何に使うか説明できる。
- 1行の意味、各列の単位、対象期間を確認している。
- 空欄、重複、値の不整合を点検している。
- 合計や割合を、手計算など別の方法でも確かめている。
- 結果から言えることと、まだ分からないことを分けている。
- 元データと処理手順を残し、再実行できる。
まずは、この記事の4行のデータを表計算ソフトやPythonで集計してみてください。結果が一致したら、1行追加したり、問題数を変えたりして、集計結果がどう変わるかを確認しましょう。
参考資料
Learning Tools
記事を検索したい方はここから!
記事を検索
関連記事や、今の内容に近いテーマをすぐに検索できます。
例: AI / 情報Ⅰ / Python / 統計 / 資格 / 学習法