Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

NaITE#14 メトリクス解析(データ解析)の初歩

715 views

Published on

NaITE勉強会資料。

Published in: Data & Analytics
  • Be the first to comment

NaITE#14 メトリクス解析(データ解析)の初歩

  1. 1. 岡野 麻子(NaITE) 2016/5/29©NaITE 1 NaITE #14 メトリクス解析 (データ解析)の初歩
  2. 2. 自己紹介 • 岡野 麻子(おかのあさこ) • 経歴 • 自社では、SEPGに所属(2010~)。 • 主に、CMMIによるプロセス改善に従事。「定量的プロジェクト管理」の推進をし ています。統計分析(プロセス実績ベースラインやプロセス実績モデルの構築)、 ツールの管理、プロジェクト推進、・・・なんでも屋さんです。 • その前はQAをやっていました(2004~2010)。 • 所属しているコミュニティなど • NaITE(長崎IT技術者会) スタッフ • PM学会 PDA研究会 • JFPUG FP活用研究会 など ©NaITE 22016/5/29
  3. 3. 参考資料 • 統計学入門 東京大学教養学部統計学教室 (編集) • メトリクス公団 TEF東海メトリクス勉強会著 • データ指向のソフトウェア品質マネジメント(デート本) 野中誠、小池利和、小室睦著 2016/5/29©NaITE 3
  4. 4. 本セッションの目的(ゴール) • メトリクス解析について(ソフトウエアメトリクスを対象) • プロジェクトの開始時には必ず、プロジェクト計画をたてます。品質指標値、生産 性目標などを計画値として算出するシーンを想定し、ご紹介。 • 平均値と中央値の違い、四分位を使うことのメリット、回帰分析を行う際に考えな ければいけないこと について、ご紹介。 • やってみよう、Excelで統計解析 • 最初の座学でご紹介したものを、実際に演習し、理解を確実にする。 2016/5/29©NaITE 4
  5. 5. 参加者の状況(数学は好き?) 2016/5/29 5©NaITE 数学は好きですか? 好き! どちでも・・・ きらい>< 無回答
  6. 6. 参加者の状況 (データ分析を何かしらやったことはありますか?) 2016/5/29 6©NaITE データ分析を何かしらやったことはありますか? データ分析を何かしらやったことはありますか? やったことがある やりたいけど、経験はない 無回答
  7. 7. 参加者の状況 (つかったことのある分析ツールはありますか?) 2016/5/29 7©NaITE つかったことのある分析ツールはありますか? Excel R その他 無回答
  8. 8. はじめに • データ解析の目的を考えてもらう • データの「見る切り口」「料理の仕方」は「手段」。 • データの意味をちゃんと理解してから料理しましょう。 • 目的が「データ分析」にならないように気をつけましょう! →目の前にあるデータが、今の事実すべてだと思ってしまう現場によくある。 あくまでも、「全体の一部」であることを念頭においてください。 「母集団」の中の、ひとつの「標本」にすぎないのです。 2016/5/29©NaITE 8
  9. 9. ≪First Session≫ ソフトウェアメトリクス について 2016/5/29©NaITE 9
  10. 10. ソフトウェアメトリクスとは • 様々な活動を定量化し、その定量化したデータを管理に使える ように加工した指標 定義 • 実力を把握するため • 見積もりをするため • 予実(計画と実績)差によるPDCAサイクルを回すため 取得の目的(一例) 2016/5/29©NaITE 10
  11. 11. 基本メトリクスセット •作業した時間。就業管理などで、開発オーダごとにつけていることが多い。 工数 •プロジェクトの活動を通じて作成される文書や何かしらのアウトプットのこ と。 •例として、コード行数(LOC)、FP、ページ数などが挙げられます。 作業成果物 •開発中に発生した不具合や課題。 不具合・課題 2016/5/29©NaITE 11
  12. 12. メトリクス管理(よくある組み合わせ) • 用途:レビュー密度評価(ページ/hr)、生産性(Line/hr)、等々 工数と作業成果物 • 用途:レビュー工数密度(件/hr)、誤り検出工数密度(件/hr)等々 不具合・課題と工数 • 用途:レビュー指摘密度(件/ページ)、誤り検出密度(件/Line)等々 作業成果物と不具合・課題 2016/5/29©NaITE 12
  13. 13. 分析について 2016/5/29©NaITE 13
  14. 14. とりあげる分析手法・グラフ • データのばらつき具合を示すのに用います。 • 四分位を用いてデータの散らばりを表します。 箱ひげ図 • 独立変数と従属変数の間の関係を推定するための統計的手法の こと。(y = ax + b) • 散布図とともに使われることが多い。 回帰分析(単回帰分析) 2016/5/29©NaITE 14
  15. 15. 箱ひげ図 • 四分位を用いてデータの散らばりを表します。四分位とは データを昇順に並べて、4等分したものです。 • 第1四分位点から第3四分位点までの高さに箱を描き、中央 値で仕切りを描く。 特徴 • 「箱」には全データの半数(25%目から75%目)が含まれます。それ らのデータは、集団において中間層を形成することから、「順位的 にごく普通の(一般的な)データ」、すなわち「集団を代表する データの集まり」とみなせます。 箱ひげ図からわかること 2016/5/29©NaITE 15
  16. 16. 中央値と平均値 • データの分布が対称である場合は、中央値は平均値に等しい。 • 分散と標準偏差は、基準を平均値とした「ばらつき」を指標となるも の。一方、四分位は、基準を中央値としたばらつきの指標となるも の。 使い分けは、この「基準」をどちらで考えるか、によって判断され る。 • 以下の性質により、平均値よりも、全体の傾向を表す代表値として適 切である場合が多い。 (wikipediaより) • 平均値は、測定ミスなどによって発生する外れ値(他の値より著しく異な る値)に大きく影響され、誤差が大きくなったり、無意味な値となること がある。しかし、中央値は外れ値にほとんど影響されない。 • たとえばデータが正値のみといったように限定されている場合、そうでな い場合と比べて分布はより非対称になりやすく、少数の大きな値に引きず られて平均値は大多数の分布より大きくずれることがある。しかし、中央 値ではそういった影響はほとんどない。 →ばらつきを考慮した値として最適である。 2016/5/29 16©NaITE
  17. 17. 中央値と平均値(余談) • 平均を使用 • 学校の偏差値とか。 • 学校での国語のテストの平均点とか。 • 異性の評価とか。(平均的な顔だよね~とか^^;) • 中央値を使用 • 各フェーズごとの不具合検出密度(これからご紹介) • ソースコードの複雑度 等など 2016/5/29 17©NaITE
  18. 18. はずれ値とばらつき [はずれ値] • 「はずれ値」とみなすもの=箱ひげ図の両端から四分位範囲の1.5倍以 上離れたデータ(出典:データ指向のソフトウェア品質マネジメント) [ばらつき] • 「品質」を見る際に、解析する元のデータに求められることは、「ばら つきの小ささ」が大きいと考えています。 [余談] • CMMI レベル4のプラクティスなどを参考に考えると、「ばらつきが 大きい」場合、まずはばらつきを小さくしていき、その後実力を上げて いく(目標値、計画値を厳密にしていく)という流れが見られます。 2016/5/29 18©NaITE
  19. 19. 回帰分析 • 独立変数と従属変数の間の関係を推定するための統 計的手法のこと。(y = ax + b) • 散布図とともに使われることが多い。 特徴 • メトリクス同士の関係式を求める ソフトウェア開発現場での主な用途 2016/5/29©NaITE 19
  20. 20. ケーススタディ1 品質指標を計画する プロジェクト計画を立てる際に、どの程度の誤り検出をすれば このプロジェクトは成功となるか? 2016/5/29©NaITE 20
  21. 21. 品質指標 導出手順 2016/5/29 21©NaITE ①データ収集 • 実施プロ ジェクトと 類似性のあ る実績デー タを収集す る ②実力の把握 • 箱ひげ図を 使い、対象 プロジェク トの実力を 把握する ③指標値を決定 • 指標範囲等 を決め、評 価に資する 値か否かを 確認する
  22. 22. 品質指標 ①データ収集 •気をつけること • 計画を立てようと考えているプロジェクトと類似性が限り なく高いこと • 層別する手段もいくつかある • データの取得方法などが統一されていること • (スキルも考慮されるとよい) 2016/5/29 22©NaITE
  23. 23. 品質指標 ②実力の把握 ②を実施していきましょう。 例題:A~Dのプロジェクトが、類似性が高いデータであるとする。 データは、ダウンロードしてもらったものの中にあります。 2016/5/29 23©NaITE
  24. 24. 四分位の算出 2016/5/29 24©NaITE 最小値 第一四分位 (25%) 第ニ四分位 (中央値) 方式設計レビュー指摘密度 詳細設計レビュー指摘密度 コードレビュー指摘密度 単体試験不具合密度 結合試験不具合密度 適格性確認試験不具合密度 =QUARTILE([範囲],0)' =QUARTILE([範囲],1)' =QUARTILE([範囲],2)' 第三四分位 (75%) 最大値 方式設計レビュー指摘密度 詳細設計レビュー指摘密度 コードレビュー指摘密度 単体試験不具合密度 結合試験不具合密度 適格性確認試験不具合密度 =QUARTILE([範囲],3)' =QUARTILE([範囲],4)'
  25. 25. 疲れてきましたね^^; 2016/5/29 25©NaITE
  26. 26. アイスブレイク -黄金比って?- • 名刺も、ほぼ黄金比で作られているとのことです。 • では、黄金比の長方形を作ってみましょう。 2016/5/29 26©NaITE 正方形ABCDを描き,辺BCの中点をEと する。 点Eを中心としてEDを半径とする円弧を 描き,BCの延長との交点をGとする。 即ちED=EG 長方形ABGHを描けば,黄金長方形の出 来上がりです。 A B C D E G F H
  27. 27. ケーススタディ2 相関をみる ソフトウェアメトリクス同士の関係性をみる 2016/5/29©NaITE 27
  28. 28. 相関をみる 導出手順 2016/5/29 28©NaITE ①データ選定 • 関係性をみ たいデータ を選定する ②関係性の把握 • データの関 係性を見る • 回帰分析を 行う ③関係式導出 • 回帰分析の 結果から、 関係式を出 す
  29. 29. 相関をみる(回帰分析をしよう) ①のデータ選定が完了したと仮定します。 ②を実施していきましょう。 データ同士の関係性、データの持つ意味を 考えて、どういう回帰分析を行うのが最適なの か?を最初に考えることも必要と考えます。 →ちょっと紹介します。(数式込み) 2016/5/29 29©NaITE
  30. 30. 相関をみる ~データの現象論~ 2016/5/29 30©NaITE
  31. 31. ① 𝑑𝑦/𝑑𝑥 = 𝑘 ⇒ 𝑦 = 𝑘𝑥 + 𝑐 ② 𝑑𝑦/𝑑𝑥 = 𝑘𝑦 ⇒ 𝑦 = 𝑐 exp(𝑘𝑥) ③ 𝑑𝑦/𝑑𝑥 = 𝑘𝑥 ⇒ 𝑦 = 1/2 𝑘𝑥2 + 𝑐 ※数式中の 𝑐 と 𝑘 は定数でタイプごとに独立 相関をみる 関係式(1/2)
  32. 32. 相関をみる 関係式(2/2)
  33. 33. 相関をみる 回帰モデルのタイプ 2016/5/29 33©NaITE ※これら4タイプは共通の一次式 𝑌 = 𝐴𝑋 + 𝐵 に帰着することができ、 線形モデルを用いて回帰分析が可能になる。 ※4タイプのモデルのうち、最適なモデルの採択は決定係数で判定する。
  34. 34. 相関をみる 関係式の導出 [目的] • 回帰分析を行う理由のひとつに、「 1つの目的変数を1つの説明変数で予測 する」ということがあります。 例:工期と規模のデータがある場合 受託工事の見積もりをしたら、200(Kline)となった。 計画した工期で妥当か? [手順] • 散布図を描き、データの散らばり具合をみてみる。 • Excelの「分析ツール(回帰分析)」を使用し、最小二乗法を用いて回帰分 析を行う。 • 回帰分析結果の相関(決定)係数(R2)を見てみる。80をこえていたら、 相関関係にあるといってもよいでしょう。 • 回帰分析結果より、Y=aX+bの式を導出し、近似線を引いたりしてみよう。 2016/5/29 34©NaITE
  35. 35. 相関をみる 関係式 •回帰直線(y=ax+b) 回帰分析結果「係数」を見る。 「切片」=b :関数 intercept(Y範囲,X範囲) 「X値」= a :関数 slope(Y範囲,X範囲) ) ※ 決定係数:関数 rsq(Y範囲,X範囲) 2016/5/29 35©NaITE
  36. 36. まとめ これまでをまとめます 2016/5/29©NaITE 36
  37. 37. まとめ 1.統計は敵じゃない! 2.箱ひげ図を使ってしまえば実力の把握もお 手の物! 3.関係性の把握は回帰分析から! 2016/5/29 37©NaITE
  38. 38. 2016/5/29 38©NaITE 休憩です。
  39. 39. ≪Second Session≫ ソフトウエアメトリクスの関係を導出しよう 2016/5/29©NaITE 39 ~単回帰分析演習~
  40. 40. 回帰分析をして相関をみよう! • データの相関をみてみましょう。 Excel のアドイン「分析ツール」を動かして回帰分析。 データは、事前にご連絡したものを使用します。 値を対数変換しない形式の回帰分析演習です。 2016/5/29 40©NaITE
  41. 41. 演習 回答 2016/5/29 41©NaITE Date Tokyo Fukuoka 概要 Yi Xi 5月7日 1019.4 1018.4 回帰統計 5月8日 1005.7 1007.6 重相関 R 0.802971 5月9日 1002 1006.2 重決定 R2 0.644763 5月10日 1006.7 1009.9 補正 R2 0.625028 5月11日 1005.1 1010.8 標準誤差 3.148221 5月12日 1010.1 1013.2 観測数 20 5月13日 1016.7 1016.2 5月14日 1011 1009.1 分散分析表 5月15日 999.5 1003.1 自由度 変動 分散 観測され た分散比 有意 F 5月16日 1006.9 1012.5 回帰 1 323.8062 323.8062 32.67042 2.03E-05 5月17日 1001.9 1006.4 残差 18 178.4033 9.911295 5月18日 1007.5 1006.3 合計 19 502.2095 5月19日 1014.4 1012.2 5月20日 1014.3 1015 係数 標準誤差 t P-値 下限 95% 上限 95% 下限 95.0% 上限 95.0% 5月21日 1014.6 1017.4 切片 16.08757 173.7333 0.092599 0.927245 -348.913 381.0877 -348.913 381.0877 5月22日 1009 1016.5 X 値 1 0.982213 0.171842 5.715805 2.03E-05 0.621187 1.343239 0.621187 1.343239 5月23日 1006.7 1012.1 5月24日 1009.4 1008.7 5月25日 1011.8 1009.2 5月26日 1009.4 1009.2
  42. 42. 議論しましょう! •どういうメトリクスをプロジェクトでとって いますか? ( →それは、なんでそのメトリクスをとって いるんだろう?) •どういうことを把握したいと考えますか? ( →なんで把握したいんだろう?) [余談] この議論の目的は、「GQM」の理解。 2016/5/29©NaITE 42
  43. 43. 最後に・・・ 箱ひげ図だけで判断しないこと! →そのデータがすべてではない。 ただの標本(sample)であって、母集団(population)ではない。 データの偏りを考えて分析をするならば、正規分布をする母集団なの か否かを考慮する。 標本数が少ない場合には、t分布を適用する。 「詳しく知りたい~♥」となった方は、統計の世界へ入ったという証拠♥ 2016/5/29 43©NaITE
  44. 44. ≪Additional≫ 2016/5/29©NaITE 44 ~おまけ~
  45. 45. t分布小話 出典:統計学入門 ~統計学理論はギネス・ビールから!~ ビール会社に入社したウイリアム・ゴセット。 常に平均と分散を計算しながら、ビールの品質を監視していたが、 標本数が小さいときに、分散や標準偏差の値がおかしくなることに気がついた。 それから、ピアソンらとともに、1908年、「平均が有する可能な誤差」という論文を 発表したのである。これが、t分布の発見である。 2016/5/29 45©NaITE
  46. 46. 大数の法則から •一般的に、大標本では、観察された標本平均を母集団 の真の平均とみなしてもよい、という常識を数学的に 証明したもの。 •中心極限定理 • 確率分布の形は、nが大のときには、だいたい正規分布と 考えてよい。 •二項分布 • コインを投げるときなどの確率分布に適用される。 2016/5/29 46©NaITE
  47. 47. クイズ(お暇があればどうぞ) • 「通勤でバタバタする毎日。こんな状況を改善したい!何分前に家を出れば、遅 刻しないですむかな。目安を出したい!」 • 上記のような目標を立てました。下記のような所要時間の場合、どのくらいを目 安とするでしょうか? • 乗り継ぎなどの時間も含めた所要時間と考えてください。 2016/5/29 47©NaITE 10分±3分 20分±4分 ヒント:【遅刻しないですむ】=3σ(99.7%)程度の確率と考える 1.標準偏差を±の値(3と4)と想定してみよう 2.分散(標準偏差の二乗)を考えてみよう! 3.二項分布を参考にしてみよう!
  48. 48. Thank you! 実務にて、是非活用して下さい! 2016/5/29©NaITE 48

×