広告 気象データアナリスト

【ブートキャンプDay1】気象データアナリスト講座【データミックス】

2023年1月28日

本記事では、(株)データミックスの「気象データアナリスト養成講座」を受けた感想や、講義メモをまとめます。

今回は、2023年1月28日に受けた、ブートキャンプステップ1日目の内容です。

講義1日目の内容:データ分析プロジェクトの概要


最初の講義ということで、ビジネスのなかでデータ分析するときの概要や心構えを学びました。

講義を聞いて大切だと思ったことは、こちら。

データ分析で大切なこと

  • まずは課題を明確にする
  • 最初にデータに飛びつくのはNG
  • 情報不足でも仮説を立てる
  • なぜこの分析をするか?と問い続けよう
  • 「分析結果からできることは何か」を分析前に考える

データ分析というと、「膨大なデータをひたすら分析して、表やグラフにまとめることが仕事」というイメージがありました。

しかし実際には、「データ分析=課題を解決するための手段」のようです。

データ分析することが目的にならないよう、気を付けたいと思います。

グループワーク:分析プロジェクトの課題の考え方

講義のなかでは、15分~20分ほどのグループワークもありました。

Zoomで3人のグループになって、課題に対する意見を出し合うワークです。

課題は事前に「予習」として出されていたので、内容をわかったうえで取り組めます。

グループワーク

参考サイトの情報をもとに、考えたことを話し合います。

「本当にこの課題でいいのか」「他に解くべき課題はないか」などを、ざっくばらんに話す感じです。

Rプログラミング入門:データ確認と分析

グループワークで取り組んだ課題には、データが用意されていました。

そのため、実際にデータを見ながら講義が進められました。

以下では、講義で使ったデータを見ながら、データを確認・分析する方法を復習したいと思います。

事前準備

はじめに、使うデータをダウンロードしておきます。

今回の講義で使われたデータは、こちらでした。

上記サイトにある「Download dateset」をクリックすると、データのダウンロードがはじまります。

※データ量が多いので、ダウンロードするときは通信環境やデバイスの容量に注意してください。

データの確認には、Rプログラミングを使います。

そのため、Rプログラミングの実行環境をあらかじめ整えておきました。

Rプログラミングを使うためには、2つの方法があります。

Rプログラミングを使う方法

わたしは方法1にしました。

けっこう重たいので、パソコンへの負荷が気になる場合は、RStudio CloudでもOKだと思います。

Rプログラミングでデータ確認

講義では、Rプログラミングを使って、データを見たり分析したりしました。

プログラミングコードは、あらかじめ配布されていたので、自分で1から書くことはありません。

R STUDIOでデータを読み込んだら、SQLを実行していきます。

メモ


SQLは、データベースを操作するための言語です。

使用するデータ(Open University Learning Analytics dataset)には、7つのファイルが含まれています。

assessments.csv code_module,code_presentation,id_assessment,assessment_type,date,weight
courses.csv code_module,code_presentation,module_presentation_length
studentAssessment.csv id_assessment,id_student,date_submitted,is_banked,score
studentInfo.csv code_module,code_presentation,id_student,gender,region,highest_education,imd_band,age_band,num_of_prev_attempts,studied_credits,disability,final_result
studentRegistration.csv code_module,code_presentation,id_student,date_registration,date_unregistration
studentVle.csv code_module,code_presentation,id_student,id_site,date,sum_click
vle.csv id_site,code_module,code_presentation,activity_type,week_from,week_to

これらのデータを使って、分析していきます。

練習1:生徒数はどのくらい?

データの中から、生徒数を表示してみます。

今回のデータでは、生徒ひとりひとりにIDが割り振られています。

生徒のIDは「id_student」というデータです。

「studentAssessment.csv」に、「id_student」のデータがあるので、データ数を見てみましょう。

  • SQLを書く

  • 実行する

「id_student」の数は、23369だとわかりました。

今回の講義では、SQLが書かれたファイルが共有されていたので、実際には実行するだけでした。

SQLの内容を詳しく見ると、こちらです。

「sqldf("")」は、RプログラミングのなかでSQLを使ってデータベースを使いたいときに書いておくもの、だと思っています。

練習2:モジュールと開講時期の組み合わせは?

モジュールとは、授業科目群です。

データの中から、モジュールと開講時期の組み合わせを表示してみます。

「assessments.csv」に、「code_module」と「code_presentation」のデータがあるので、組み合わせを見てみましょう。

  • SQLを書く

  • 実行する

モジュール(AAA,BBB,CCC,,,,)と、開講時期(2013J,2014J,2013B,,,)の組み合わせがわかりました。

ちなみに、2013Jは2013年10月開始、2013Bは2013年2月開始、とのことです。

SQLの内容を詳しく見ると、こちらです。

SQLで「GROUP BY構文」を使うと、グループごとの集計ができます。

練習3:モジュール別・開講時期別の合格率を求める

データの中から、合格率を求めてみます。

合格したかどうかは、「studentInfo.csv」にある「final_result」で判断します。

「final_result」が「Pass」または「Distinction」になっているデータは合格です。

「studentInfo.csv」に「code_module」「code_presentation」「final_result」のデータがあるので、合格率を出してみましょう。

  • SQLを書く

  • 実行する

モジュール別・開講時期別の合格率(pass_ratio)がわかりました。

SQLの内容を詳しく見ると、こちらです。

順を追って、解読したいと思います。

  1. FROM studentInfo:「studentInfo」ファイルから
  2. GROUP BY code_module,code_presentation:「code_module」と「code_presentation」の列をグループ集計する

上記のように、まずは扱うデータを書きます。

次に、集計関数を使ってグループ集計をおこないます。

今回の集計関数は「SUM」と「COUNT」です。

  1. SUM関数の中身:「final_result」の列の値が「Pass」または「Distinction」である数を合計する
  2. COUNT関数の中身:「id_student」の列を、重複データをまとめて数える

SUM関数のなかでは、CASE構文を使って「Pass」または「Distinction」のデータのみを扱っています。

CASE構文は、英語でいうところの「if~」です。

また、SUM関数とCOUNT関数に「as」が使われていますが、これは名前を付けておくようなイメージです。

結果に名前を付けておくことで、以降の処理でデータが扱いやすくなります。

最後にPass率を計算します。

「final_result」が「Pass」または「Distinction」になっているデータ(=pass_num)を、生徒数(=student_num)で割ると、合格率(pass_ratio)を求めることができます。

まとめ:データ分析のプロセスを知る&SQLに慣れる

今回は、(株)データミックス「気象データアナリスト養成講座」の、講義1日目の内容をまとめました。

講義1日目の内容

  • データ分析では課題を明確にする
  • データ分析は"目的"ではなく"手段"
  • SQLに慣れていこう

初回ということで、データ分析プロジェクトの全体像を学びました。

SQLは正直むずかしく感じましたが、解読してみると少しずつわかるようになりました。

来週の講義もがんばりたいと思います。

-気象データアナリスト