SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

エンジニアが生き残るためのテクノロジーの授業

手軽に説得力のあるデータ分析をするために。統計ツールと見せ方のポイント

エンジニアが生き残るためのテクノロジーの授業 第4回


  • このエントリーをはてなブックマークに追加

 本連載では、ITエンジニアが時代の波に飲み込まれず、ITの世界で生き残っていくための知識を解説していきます。第4回のテーマはデータ分析。データは持っているだけでは意味がありません。データベースの作成や管理に携わるエンジニアだからこそ、データの分析方法についての知識や、その活用方法について意識しておく必要があります。分析時の注意点に加え、その結果を提示するときのコツなどについて解説します。

  • このエントリーをはてなブックマークに追加

新刊のお知らせ

 2016年12月17日に、この連載をベースにした新刊『エンジニアが生き残るためのテクノロジーの授業』が発売されました!

 ITとビジネスの関係、コンピュータ、ネットワーク、プログラミング、データベース、セキュリティ、人工知能など、本連載で解説した内容も含め、エンジニアなら誰もが知っておくべきテーマを一冊で学ぶことができます。

統計学は難しい?

 学生の頃に順列や組み合わせ、確率などを学んで「統計」に対して苦手意識を持った人も多いかもしれません。また、回帰分析や主成分分析など、多変量解析になると、複雑な数式が登場して計算が面倒な印象があります。

 しかし、考え方はシンプルで「たくさんのデータを要約して情報を把握すること」といえます。私たちの身の回りにはデータがあふれており、短時間で情報を理解するためには要約する手法が有効で、あらゆる業務に応用できます。また、最近は分析に必要なツールも多く登場しているので、手作業で計算する場面は少なくなっています。

 もちろん、分析の手法を間違えると誤った主張になってしまう可能性もありますし、解釈を間違えると統計のウソに騙される場合もあります。最低限の知識を持ち、正しくデータを活用できることはビジネスマンの必須知識だといえます。

 「統計学」というと難しいイメージがありますが、多くの場合は「基本統計量」を使えば十分だと思います。基本統計量とは、平均、合計、分散、標準偏差、中央値、最大値、最小値といった値のことです。

集計や分析でもSQLを活用する

基本統計量を取得する関数

 上記のような基本統計量を求める場合、簡単なのはExcelのデータ分析ツールで「基本統計量」を選ぶ方法でしょう(図1、2、3/Excelの「データ」タブに表示されていない場合は、「ファイル」の「オプション」メニューから「アドイン」で「分析ツール」を選び、「設定」ボタンを押してアドインを追加してください)。

図1 Excelの基本統計量
図1 Excelの基本統計量
図2 Excelのデータ分析ツール
図2 Excelのデータ分析ツール
図3 Excelのアドイン追加画面
図3 Excelのアドイン追加画面

データベースで基本統計量を計算

 前回はデータベースの基本的な仕組みについて解説しました。指定されたグループ全体から1つの結果を得るような関数もSQLには用意されています。一例として、平均や合計を求めるには、以下のようなSQL文を実行するだけです。ここでは、商品の情報が入ったテーブルから単価の列を集計しています。

平均
SELECT AVG(price) FROM product
合計
SELECT SUM(price) FROM product

 分散、標準偏差、中央値、最大値、最小値についても、Oracleではそれぞれ関数が用意されているので同じように実行できます。

分散
SELECT VARIANCE(price) FROM product
標準偏差
SELECT STDDEV(price) FROM product
中央値
SELECT MEDIAN(price) FROM product
最大値
SELECT MAX(price) FROM product
最小値
SELECT MIN(price) FROM product

 このように基本的な統計データを求める処理は、単純なSQL文で実行できます。しかも、ビジネスパーソンが仕事で使う分析処理は、中学校レベルの数学で使われる単純な処理で十分なことが多いはずです。

少し複雑な処理はコードで

 少し複雑な処理であってもSQLで実行できます。例えば最頻値を求める関数はOracleには用意されていませんが、以下のようなSQLで実行できます。

SELECT price FROM product GROUP BY price
HAVING COUNT(*) >= ALL
( SELECT COUNT(*) FROM product GROUP BY price)

 DBMSによっては、標準SQLには含まれていない関数を用意しているものもあり、SQLだけでも十分な分析が可能になっています。

会員登録無料すると、続きをお読みいただけます

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

次のページ
データ分析はツールの活用で差がつく

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
エンジニアが生き残るためのテクノロジーの授業連載記事一覧

もっと読む

この記事の著者

増井 敏克(マスイ トシカツ)

増井技術士事務所 代表。技術士(情報工学部門)、テクニカルエンジニア(ネットワーク、情報セキュリティ)、その他情報処理技術者試験に多数合格。 ITエンジニアのための実務スキル評価サービス「CodeIQ」にて、情報セキュリティやアルゴリズムに関する問題を多数出題している。 また、ビジネス数学検定1級に合格し、...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/9800 2016/12/20 15:52

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング