HPCシステムズではエンジニアを募集しています。詳しくはこちらをご覧ください。
HPCシステムズのエンジニア達による技術ブログ

Tech Blog

そのデータにストーリーはあるか?ーデータに踊らされないためにー

背景

昨今さまざまな数字、データ、グラフを目にする機会が増えています。その一方でそれらをどう解釈して読み解くのか、というリテラシーの問題が取り沙汰されるようになっています。テレビ等で誤解を生みかねないグラフ形式を選択していることなどに指摘がある一方で、意図的にそうした手法を用いているものから間違った判断に誘導される危険性もあります。統計データが直感に反する結論を導くことも珍しくありません。

どの様にデータを使い、見せ、意図を伝え、解釈されるのか?というのは受け側、出す側の両方に求められるリテラシーですが、一方で普段どおりの見せ方をしたのに、他の分野で全く異なる解釈をされ、驚かれた経験がある方も多いと思います。専門家とそうでない人では視点も解釈も異なります。弊社もベンチマークデータを公開することが多いわけですが、意図しない解釈により間違った結論に至ることがないよう気をつけています。一方で我々のものではないデータの中に、自分にとって重要な情報はどれだけあるか?というフィルタリングができなければ、本質を見失ってしまいます。

自分の主張に都合のいいデータや条件のみを選ぶことはチェリーピックと呼ばれ、再現性や汎用性がないまま結果だけが独り歩きする弊害を生みます。「数字はウソを付かないが、嘘つきは数字を使う。」というのは政治アナリストの伊藤氏の言葉らしいですが、自分のものか他人から得たデータかにかかわらず、出してしまったものは都合よく切り取られる恐れもありますし、読み手の解釈を強制することは困難です。また自分が再発信することで、そうした誤解や悪意を意図せず助長し、嘘つきになってしまうことを回避するにはどうすればよいでしょうか。

無意識にやっている人も多いと思いますが、自戒を込めてまとめてみたいと思います。

意図を確認する

そもそもこのデータは、何をするため、何を伝えたいがために作られたのか?を確認しましょう。例えば我々は競合ベンダー同士がベンチマークを互いの製品で取り、逆の結論を主張しているケースをよく見かけます。これは自社製品が優れていることを示して、より多くの顧客を獲得するための材料としてデータが使われています。そのため必ず良いデータやそれをアウトプットする条件が採用されるわけです。そのためデータの取得条件を細かに確認した上で、それぞれの主張がどの様に導かれているのか、自分が必要な条件においてどうなるか、を順次確認する必要があります。

「定性的な結論を示す」ことだった場合

グラフの見た目の形状や大きさは意味を持ちません。このために作られる図は「黒板上の殴り書き」以上の情報を持たないからです。数字を追ってもいけません。上か下か等しいか、交わっているか交点を持たないか、含んでいるか含んでいないか、精度が高そうに見える数字や、グラフや図面をキレイに描ける人とそうでない人とで、結論が変わっては困るのです。

「定量的な比較」を示したい場合

明確に数字を、それも割合ではなく実の値を意識します。割合は常に複数の数字が絡むため、同じ数字の意味することが異なってしまうケースがあります。「200%アップ」とあっても、そもそも元の値が低いケースや、「1%以下の確率」とあっても、想定する必要がないケースを含めて分母を大きくしているケース、サンプル数が少ないのに有効数字を大きく出して、精度が高いと誤解するケースなどがあります。また、データがチャンピオンデータなのか、平均値なのか、中央値なのか、分散はどれくらいあるのかなどは気にしておきたいところです。

そして、意味がある数字かどうかという点もあります。例えばベンチマークを取得すると、1秒かからずに終わるケースがあったとします。すると、実際に比較したい計算時間は本当に小さくて、アプリケーションの起動時間など、他の要因の方がずっと大きい場合があるわけです。測定条件、測定内容が目的に合っているかという視点は常に必要です。

「動き方を比較」しようとしている場合

これが最も難しいのですが、変化の仕方から背後にある数理モデルを意識し、いかようにでもなるパラメータの影響は排除して未知の部分を予測しようとします。もちろん原理的に推測される数理モデルと実データから読み取れるモデルとのすり合わせが必要です。つまり目の前に見えているそのものでは、比較が成立しません。たとえば指数関数的になるはずなのに、直線になりそうなデータがある場合、予測したモデルが間違っているのか、それとも直線に見える領域しかみてない可能性があるのか、などの検討が必要になります。

見せ方が意図に対して適当でない場合

悪意(とまでは言えなくとも、自らの主張に誘導する意思)があるか、リテラシーが十分でないのどちらかを見極める必要があります。受験問題では問題用紙にある図面が、問題文の説明と全く相容れない形状になっていることは珍しくなく、見た目に捕われず意図を正確に再現する訓練が必要となっています。様々なツールが進化し、誰でも高精度に見える数字や、リアルなグラフを作ることは容易になりました。技術の高度化自体は歓迎できることですが、意図を正しく伝える・読み取る際には注意したいものです。

前提条件を把握する

あらゆるデータには、そのデータが得られた背景や条件が必ずあります。例えばベンチマークを例に考えてみます。ベンチマークの取得には多彩なパラメータが存在します。ハードウエア構成、OS選定、ライブラリ・コンパイラの選定、最適化レベル、アプリケーションの特性、計算内容(インプット)。基本的に「前提条件」が異なるシチュエーションでの結論には互換性が保証されません。状況的に極めて近い条件であれば、結論も近いものになるだろうことは想像できます。例えば、ベンチマークでおなじみのHPLとGaussianのTest0397は、全く異なる計算に思えますが、どちらも計算時間の大部分がDGEMMという倍精度行列積の計算なので、異なるスペック同士での性能比較はほぼ相似と見なせます。しかし、別のアルゴリズムを使う他のインプットではこの図式は成り立ちません。現代のアプリケーションには実に多彩な計算手法が搭載されていて、アプリケーション名だけで全体の傾向を捉えることは危険です。

ただ、無闇やたらと条件を揃えることができたとしても、実用上は無意味なケースもあります。上記の意図の件に通じるのですが、なにゆえそのデータを示すべきなのか、その条件はその意図に対して適切ないし誠実なのか?ということです。

例えば、新旧の機材の性能差をみるにあたって、同じ計算をするために古い環境を新しい機材にセットアップすることに意味はあるでしょうか。同一ソフトウエア環境で同一目的のための機材のリプレースであれば意味があるでしょう。しかし、ユーザーがシステムの進化を実感するのが目的であれば、時代背景も含めたシステムの多様な差異こそが進化の源泉であることを知るべきです。ハードウエアの違いはその一要素に過ぎません。

意図から外れないストーリーを

そうした「前提条件」と「結果」、そして何より「意図」これをセットにして、書き手がどのようなストーリーを形成するのか、読み手に読み取られるのかが鍵です。この3つのうち欠けているものがないか、不十分ではないか?を確認してみてください。「前提条件」を隠すことで誤解を誘導する「意図」が透けて見えるかもしれません。