『「誤差」「大間違い」「ウソ」を見分ける統計学』

「適切なばらつき」が出るように作る「ウソデータ」。

会社ではよくデータをグラフ化します。
データによっては、違いを際立たせるために軸の設定を調整することもあります。
ある時、そんな工夫をしてグラフを作成したところ、上司から「おい、このグラフだとなんだかすごく変化しているように見えるから、直してくれないか?」と指摘されました。
もちろん、サラリーマンである私は言われた通りにグラフを修正しました。
すると今度は別のグラフに対して、「おい、このグラフだとなんだか全然変化していないように見えるから、直してくれないか?」と言われました。
もちろん、サラリーマンである私は言われた通りにグラフを修正しました。
こうして、ある資料の同じページには、軸の最小値が0から始まるグラフと、10,000から始まるグラフが、何の違和感もなく(?)仲良く同居することになったのです。

――――――――――――
書名:『「誤差」「大間違い」「ウソ」を見分ける統計学』
著者:デイヴィッド・サルツブルグ(著)、竹内惠行(訳)、濵田悦生(訳)
出版:共立出版(2021.07)
――――――――――――

著者は元米ファイザー社中央研究所上級研究員で統計コンサルタント。
統計にまつわる「誤差」「大間違い」「ウソ」を紹介します。

翻訳ものです。
原題は『Errors, Blunders, and Lies: How to Tell the Difference』。
直訳すると『間違い、失態、そして嘘:その違いを見分ける方法』といった感じです。


アンケートの質問。
――――――――――――――――――――
あなたは万引きをしたことがありますか?
あなたは人をいじめたことがありますか?
――――――――――――――――――――

なかなか本音の回答を回収することは難しそうです。

人は見栄を張ったり、いい人を装うもの。
私自身、会社で無記名アンケートと称した本音を求める調査が来ますが、残念ながら、本音で答えたことはありません。

しかし、こうしたアンケート結果から正しいデータ(本音の割合)を見出すことができる手法を、本書は紹介しています。
それが「ランダム化回答法」です。

<本文引用>------------
いま、ある高校の生徒たちの中で、(飲酒や万引きのような)違法行為や反社会的行為を行ったことのある割合を調査したいとする。彼らに単に尋ねただけで、正直な回答が得られることは難しいであろう。しかし、「ランダム化回答法」というテクニックがある[1]。
適切な調査に向けて生徒のサンプルを選び、次の問いかけで調査を行うものとしよう。
--------------------------------------------------
これからあなたに二つの質問をします。一つは答えたくないものかもしれませんが、もう一つは当たり障りのないものです。その質問は
  1. あなたは先月飲酒や万引きをしましたか?
  2. あなたはこの町で生まれましたか?
これらの質問のうちどちらかに「はい」か「いいえ」で答えてください。ここにー組のカードがあります。確認してもらってもよいですし、好きなだけシャッフルしてもらっても構いません。その後、一枚のカードを引いてください。私に見せる必要はありません。そのカードがもしクイーンであれば2番目の質問に答えてください。違うカードであれば、1番目の質問に答えてください。最後に引いたカードを戻し、シャッフルしておいてください。
--------------------------------------------------
(本文より)
------------------------

こうした「見栄」や「嘘」の混じった回答から、正しい結果を得るにはどうしたらいいのか?

<本文引用>------------
調査者がこの生徒から得たものは「はい」か「いいえ」のみである。それは、調査の段階で二つの質問のうち、どちらに答えたのか知らないからである。ここから、どうやってこの違法行為をした生徒の割合を知ることができるのであろうか? ここで、簡単な数学的モデルを作ろう。

  Prob{回答は「はい」} = πp1 + (1 - π)p2            (12.2)

ただし、p1はこの町で生まれた確率で、p2は違法行為を行った確率であり、πは一組のカードからクイーンを引く確率である。
このとき、一組のカードにクイーンは4枚なので、

  π = 4/52= 1/13

であり、p1はこの学校の生徒の中でこの町で生まれた人数を調べることから得られる。
この調査で「はい」と回答した割合を計算することによって、目的である違法行為をしたという割合を推定することができるのである。
仮に「はい」と答えた生徒の割合が43%で、学校の生徒の中でこの町で生まれた生徒が70%であるとしよう。
そうすると、式(12.2)から

  0.43= 1/13 × 0.70 + (12/13)× p2
    p2 = 0.408

が求まる。回答する生徒がどちらの質問を選んだかを知ることなく、違法行為もしくは社会的に受け入れられない行為を行った学生の割合が約41%であることを得ることができるのである。(本文より)
------------------------

これは、応用できそうですね。


以前読んだ『心理学の7つの大罪――真の科学であるために私たちがすべきこと』
有意性が出るようなサンプルデータを使って仮説検証を行う「p値ハッキング」。
その結果を見てから、それが最初に立てた仮説だったと言い張る「HARKING(ハーキング)」。
こちらの作品では、そうした様々な「ウソ」の手法が紹介されていました。

一方、本作で紹介されているのは、データそのものが「ウソ」であるというケースです。

<本文引用>------------
そんな巧妙なうそつきの例としては、英国の教育心理学者のシリル・バー卜卿(Sir Cyril Burt, 1883-1971)が20世紀前半に行った研究がある(参考文献[1] を参照文献を参照せよ)。パートは、生まれてから離ればなれになった一卵性双生児のグループを追跡することによって、彼のキャリアを築いた。そんな一卵性双生児が成長した後の知能検査の結果を研究することによって、生まれ持った気質は育て方よりも重要である、と結論付けた。異なる家庭(ときには異なる国)で育ったにもかかわらず、一卵性双生児の2人の知能検査の結果はどれも、異なる環境で育った子供たちによる結果よりもより似通っていたのである。バートの研究の結果、英国政府は、11歳の子供たちを対象とする知能検査を使って、どの子供たちがより高等教育へ進学し、どの子供たちが手に職をつける訓練をするかを指定するようになった。
1971年のバートの死後、いくつかの疑問を解消するために彼の共著者に会うことが試みられた。彼の論文はいつも女性の共著者たちがいて、検定や作表を手伝っている女性たちだろうと思われていたのだが、その女性たちを探し出すことはできなかった。
バートの出版された研究に、どれほど偽造が含まれていたかについてはまだ議論の余地があるけれども、多くの批評家は、これらの共著者たちは存在しなかったと結論付けた。しかし批評家たちは、彼の業績において偽造された共著者名を使い続けたことを問題にし、生まれてすぐ離別した一卵性双生児を追跡しておらず彼のデータがすべて偽造されたものであったと主張した。(本文より)
------------------------

この「ウソデータ」がなかなか見破れなかった理由は、データに「適切なばらつき」があったこと。
本作では、このシリル・バートが行った「ウソ」の具体的なテクニックが紹介されています。

<本文引用>------------
とはいえ、彼の論文で示されたデータは正真正銘のように見えた。適切なばらつきもあった。ときどき同じデータセットが彼の異なる論文で異なる状況を説明するのに繰り返し使われているけれども、ランダム性に対する様々な検定もパスした。そうこうするうち、調査員たちはバートの本棚に、多くのページに印のつけられた1冊の年鑑を見つけた。パートはその年鑑から様々なデータをコピーし、データの小数位を変更することで正しい範囲にデータが入るようにしていたのである。
私が特定できた偽造者の中では、シリル・バートほど洗練されたデータ造者はいなかった。私の経験では、適切なばらつきのなさがうそつきデータの大きな特徴なのである。(本文より)
------------------------

「適切なばらつき」が現れるように、計算して「ウソデータ」を作っていたんですね。

シリル・バートが活躍したのは20世紀で、1946年(当時63歳)に心理学者として初めてナイトの称号が授与されたそうです。
心理学のデータに関する疑惑や問題は、すでにこの頃から存在していたんですね。


◆頭の中でシンクロした他の完読作品
『「誤差」「大間違い」「ウソ」を見分ける統計学』
『心理学の7つの大罪――真の科学であるために私たちがすべきこと』

――――――――――――
■読んだきっかけ:Amazon
■読んで知ったこと:「適切なばらつき」が出るように作る「ウソデータ」。
■今度読みたくなった作品:『データ分析失敗事例集: 失敗から学び、成功を手にする』尾花山和哉ほか
――――――――――――

1218_「誤差」「大間違い」「ウソ」を見分ける統計学.png

「誤差」「大間違い」「ウソ」を見分ける統計学 - デイヴィッド・サルツブルグ, 竹内 惠行, 濵田 悦生
「誤差」「大間違い」「ウソ」を見分ける統計学 - デイヴィッド・サルツブルグ, 竹内 惠行, 濵田 悦生




Bookstart2.jpg





『「頭がいい」とはどういうことか―脳科学から考える』

情報を受けてから行動するまでに通過する脳内の3つのフィルター。


会社で「Microsoft Teams」を使っています。

便利ではありますが、少し困るのが「メンション」です。

使い始めた頃は「あっ、自分宛のメッセージだ!」と思って嬉しかったりするものです。

でも、そのメンションの数も増えていき、更に開いてみても、急ぎではない用件だったりすることが増えていきます。

でも、それ以上に困るのが、集中が途切れてしまう感覚です。

私のキャラクターのせいかもしれませんが、オフィスでは頻繁に「ちょっといいかな?」「このExcelどうやるの?」と声をかけられることが多く、コロナ禍のリモートワークは本当にありがたく感じていました。

今では「メンション」にも慣れ、通知が入っても気にせず無視して、後回しにすることに抵抗がなくなりました。


――――――――――――

書名:『「頭がいい」とはどういうことか―脳科学から考える』

著者:毛内拡

出版:筑摩書房(2024.04)

――――――――――――


著者はお茶の水女子大学 基幹研究院自然科学系助教。

最新の脳科学の研究成果から「頭がいい」を解説します。



著者はお茶の水女子大学 基幹研究院自然科学系助教。

最新の脳科学の研究成果から「頭がいい」を解説します。


「頭のよさ」を考えるにあたり、私が思い浮かべるのが「集中力」です。

冒頭でお話しした「Microsoft Teams」。

リアルな「ちょっといいかな?」はなくなったのですが、今度はパソコンのタスクバーに通知マークが点灯します。


今までは「ちょっといいかな?」で仕事が中断されるのを嫌がっていた私ですが、最近は自分でタスクバーの通知マークを見つけると、ついクリックするようになってしまいました。

「あとでまとめてチェックしよう!」と決めてはいるのですが、どうしても気になって仕方がありません。


<本文引用>------------

話を戻しますが、つまり多くの人は、新しい情報、未知なる体験、非日常感を求めてやまないもので、これも脳がそのようにできているからであり仕方がないのです。新しい名所が好きなのも、新しいアトラクションがあったら試したくなるのも同様です。私たちは、日常とは違う空間、異なる時間の過ごし方、切り取り方を求めているのです。(本文より)

------------------------


新しい情報を伝えるマークが気になってしまうのも、どうやら致し方ないことのようですね。


<本文引用>------------

余談ですが、人は一旦集中力が切れてから回復するまでに二三分かかるというデータを見たことがあります。スマホやパソコンの通知が鳴るとどうしても見たくなってしまい、 そこで集中力が途切れてしまいます。一つ通知が鳴るたびに二三分ロスしていると言っても過言ではありません。なんだか悔しいですね。

通知のこない夜に、日中できなかったことをすることを「リベンジ夜更かし」というそうです。しかし、そうすると翌日日中のパフォーマンスが下がってしまい、また夜更かしするという悪循環になり、慢性疲労状態になってしまいます。そういうわけで、私は最近は必要最低限以外の通知を切るように設定しています。スマホが悪いとは言いませんが、情報は自分から取りに行きたいものです。(本文より)

------------------------


便利な「Microsoft Teams」ですが、本当に集中したいときは、起動させない方がよさそうですね。



同じ情報を受け取っている人同士でも、その後のアウトプットが人によって大きく違っているのは、よくあることです


<本文引用>------------

結局、同じものを見ても聞いても、脳には三つのフィルターがあるため、完全にわかり合うのは難しいものです。〈第一のフィルター〉は、感覚のゲート機構です。二つ目は、 経験と記憶から構成される予測、そして三つ目は発露する・しないのフィルターです。同じものを見ても聞いても、フィルターの働きによって反応が違ってくるのです。(本文より)

------------------------


フィルター1 感覚のゲート機構

フィルター2 経験と記憶から構成される予測

フィルター3 発露する・しないのフィルター


なかでもフィルター2は、情報を受け取る側の「内部情報」が大きく影響しそうです。

もう、この段階でアウトプットに大きな差が出てきそうですね。

さらにフィルター3は、その人のその時の気分状態が大きく影響しそうです。


では、「人によって受け取り方が違う! だから、どんな情報を与えても意味がない!」となってしまうのでしょうか。


著者はむしろ、その「違っている」という事実を、お互いに認識し合うことこそが大切なのだと述べています。


<本文引用>------------

それよりも、みんな違うことを認め合うことの方が重要だと私は思います。

本質的にわかり合えない私たちがどうにか社会を形成しているのは、そこに社会的合意があるからです。私の故郷には、大沼という名前の湖があるのですが、これを見て沼と感じるか湖と感じるかは人それぞれですが、社会的合意を持ってこれを湖とするということで無益な論争を避けることができます。このような社会的ルールが、経験となって知恵ブクロ記憶となって、世界のモデルを作っていきます。

同様に私たちは、相手が同じような心を持っているだろうという前提でコミュニケーションをはかりますが、これも社会的合意のようなもので、その方がさまざまなことがスムーズに進みます。それに私たちの脳には、ありとあらゆるものに心を感じるという特異な性質が備わっています。このような性質は「心の理論」として知られています。例えば、 私たちはコンピュータースクリーン上で点滅する二つの相互作用する点にすら、意図や意志のような心を感じてしまいます。

心を社会的合意に基づいて想定してもその解釈は各々違いますので、結局わかり合うことは難しいと言わざるを得ません。したがって、根気強いコミュニケーションが必要となります。

昨今、心理的安全性やアサーティブ・コミュニケーション、ワンオンワン・ミーティングなど、コミュニケーションに関する関心が高まっているのは、そこに問題意識を感じる人が多いことの表れでしょう。コミュニケーションがうまく行っていると思っていても、実は独りよがりに過ぎなかったという経験などが増えてきたのかもしれません。(本文より)

------------------------


同じ情報を受け取った人たちが、それぞれ違った認識や行動をする。

その事実はなんとなく分かっていましたが、今回、そのメカニズムへの理解の解像度がより上がったように感じています。



◆頭の中でシンクロした他の完読作品

『「頭がいい」とはどういうことか―脳科学から考える』 

『「あっ、忘れてた」はなぜ起こる ―心理学と脳科学からせまる』 

『考えてはいけないことリスト』 


――――――――――――

■読んだきっかけ:YouTubeチャンネル「著者が語る」

■読んで知ったこと:情報を受けてから行動するまでに通過する脳内の3つのフィルター。

■今度読みたくなった作品:『もっと! : 愛と創造、支配と進歩をもたらすドーパミンの最新脳科学』ダニエル・Z・リーバーマン

――――――――――――


1216_「頭がいい」とはどういうことか.png



Bookstart2.jpg





『文系でも必ずわかる 中学数学×Python 超簡単プログラミング入門』

Python、Anaconda、Spyderの関係。

有名なプログラミング言語の一つ、「Python」。
「Python」を使うためには、標準の統合開発環境(IDE)である「Python IDLE」を利用する方法があります。
「Python IDLE」は、Python公式サイトから本体をダウンロードしてインストールするだけで、すぐに使い始めることができます。
また、「Python」を使う別の方法として「Anaconda」をインストールするという選択肢もあります。
「Anaconda」は1,500以上のパッケージが含まれるディストリビューションであり、豊富なデータサイエンスや機械学習のライブラリが自動的にインストールされるため、利用者は導入後すぐに開発作業を開始できます。
ただし、Anacondaの商用利用に関する規約によれば、「従業員数200人以上の企業や団体での利用は有償」となっています。
ビジネスで利用する際には、あらかじめ規約を確認しておくのが安心ですね。

――――――――――――
書名:『文系でも必ずわかる 中学数学×Python 超簡単プログラミング入門』
著者:谷尻かおり(著)
出版:日経BP(2020.09)
――――――――――――

著者はプログラミング入門者向けの書籍を多数執筆している著述家。
中学校の数学を「Python」を使いながら解説します。

本作、私が「Python」を使うときに使っている「Anaconda」を実に丁寧に解説しています。
私が「Python」を使うきっかけになったのが、同じ会社のデータサイエンティスト系の社員との出会いです。
当時、心理学の勉強の過程でプログラミング言語「R」を勉強し始めた頃で、その話をしたら、「もう、これからは「Python」を使いなよ」と言われたことからです。
私が「「Python」ってどうやったら使うことができるんですか?」と聞くと、「「Anaconda」をインストールして、そこから「Spyder」をクリックすれば使えるよ」とのこと。
私は言われるがまま、「Anaconda」をインストールし、「Spyder」をクリックし、「Python」を使い始めました。
なんで、「Python」を使うのに、「Anaconda」をインストールし、「Spyder」を起動するのかよくわからないままに・・・。
本書では、「Python」を使うにあたり、「Anaconda」を利用を推奨しています。
そのため、「Python」と「Anaconda」について、しっかり解説しています。

<本文引用>------------
1.2.Anacondaディストリビューション

Pythonの導入にはいくつか方法がありますが、最もシンプルなのは公式サイト(https://www.python.org/)からダウンロードする方法です(図1-4)。Pythonでプログラムを開発し、実行するために最低限必要なものをすべて入手できます。

ただし、ここで入手できるのは余計なものが一切入らない純粋なPythonです。前節で紹介したMatplotlib.Pyplot モジュールやSymPyモジュール、その他の便利なモジュールを利用するには、図1-5のようにpipコマンドを使って追加でインストールしなければなりません。必要なものを選んでインストールできるというのは魅力的ですが、コマンドの入力に慣れていない人には気後れする作業でしょう。(本文より)
------------------------

「「Python」は「Anaconda」が入っていなくても動かせるけれど、準備が少し面倒」。
一言で言えば、そういうことになります。
その面倒な部分を解消してくれるのが、「Anaconda」です。

<本文引用>------------
この面倒な作業を引き受けてくれるのがAnacondaディストリビューションです。これを利用すると公式サイトからダウンロードできる標準のPythonに加えて、MatplotlibやSymPy、数値演算、統計処理などの外落かも提供される機能、そしてJupyter Notebook というプログラムの編集ツールも一括して入手できます。Pythonでのプログラミングを手軽に始められて、なおかつ便利な機能をすぐに使えるという点から、この本ではAnaconda ディストリビューションを使ったインストールをおすすめします。

*3 プログラム開発に必要なものを一括してインストールできるようにまとめたものを「ディストリビューション」と呼びます。(本文より)
------------------------

公式サイトからダウンロードするのは、Python言語の本体と、付属ツールである簡易開発環境の「IDLE」です。
一方、「Spyder」は単体でもダウンロードできますが、「Anaconda」に同梱されていることが多い統合開発環境(IDE)です。
こちらは、データ分析や科学計算に特化した設計になっています。

「Python」を学び始めると、「モジュール」「パッケージ」「ライブラリ」といった聞き慣れない用語が次々と出てきます。本作では、こうした用語についても一つひとつ丁寧に解説しています。

<本文引用>------------
コラム モジュール、パッケージ、ライブラリ

Pythonで書かれたプログラムで、拡張子が、pyのファイルを「モジュール」と言います。Pythonでは表1-4で紹介したほかにもたくさんのモジュールが公開されており、必要に応じて利用できるようになっています。また、具体的な方法は紹介しませんが、自分で作ったプログラムをモジュールにしておくこともできます。そうすると別のプログラムを新しく作ったときでも、そのモジュールをインポートして同じ機能を再利用できるようになります。
「パッケージ」は関連するモジュールをまとめたものです。ここでは 「Matplotlib.pyplotモジュール」のように紹介しましたが、データを視覚化するためのモジュールをまとめたMatplotlibパッケージと、それに含まれるグラフ描画用のPyplotモジュール、というのが正しい表現です。
なお、プログラミングの世界では他のプログラムから呼び出して使うプログラムのことを指して「ライブラリ」と言うのが一般的です。Pythonの場合は、モジュールとパッケージをまとめてライブラリと呼ぶことが多いようです。(本文より)

------------------------

直線の方程式。
  y = ax + b
中学の数学で習いました。
しかし、もう一つ、直線を表す方程式があるようです。
それがこちら。
  ax + by + c = 0 (a 0 または b 0 )

<本文引用>------------
コラム 直線の方程式

直線の方程式には、次の2つの書き方があります。
 y = ax + b 式①
 ax + by + c = 0 (a 0 または b 0 ) 式②
本書では主に式①を使いますが、式②にも良いところがあります。それぞれどういう式なのか、簡単に紹介しましょう。
まず、式①の良い点は、傾きと切片がわかっているのでグラフが描きやすいという点です。ただし、第2章「7.座標軸に平行な直線」で説明したように、y = ax + bではy軸に平行な直線を表すことができません。
一方、式②の場合、式を見ただけではグラフの形が想像しにくいのですが、a = 0のときはx軸に平行な直線、b = 0であればy軸に平行な直線となり、この式で平面上のすべての直線を表すことができます。

*1 式①のすべての項を左辺に移項して一般的な形にしたものが式②です。
*2 y軸に平行な直線は、x = 0やx = 3で表されます。
*3 a = 0で式②を整理するとy = -(c/b)です。
*4 b = 0で式②を整理するとy = -(c/a)です。

(本文より)
------------------------

初めて知りました。

私は仕事で毎日「Python」を使っています。
だた、使うライブラリは「Pandas」が中心です。
本作では「SymPy(シンパイ)」というライブラリが登場します。
「SymPy」は「Python」で“数学をそのまま扱えるようにする”ための 記号計算ライブラリ(symbolic mathematics library)なんだそうです。

<本文引用>------------
3.2.SymPyで計算する

2100 - 70x = 0のように簡単な方程式なら暗算でも解を求められますが、複雑な方程式は代数計算用のSymPyモジュールを使って解きましょう。方程式も扱える便利な計算機として手軽にPythonを使えるようになれば、 数学の勉強もはかどります。

3.2.1.式を定義する
先ほどと同じ問題をもう一度考えてみましょう。太郎くんが2100m離れた公園に向かって1分間に70mの速さで休みなく歩くとき、スタートしてからの経過時間(単位は分)をxとすると、残りの距離(単位はm)yは

y = 2100 - 70x

で求められますね。たとえば10分間歩いたときの残りの距離は、xに10を代入して計算すると

y = 2100 - 70x 10
y = 1400

1400mとわかります。SymPyを使ったプログラムで、これと同じ計算をコンピュータにやらせてみましょう。プログラム3-2は、方程式y = 2100 - 70xを定義するプログラムです。

プログラム3-2 SymPyで方程式を定義する
1.import sympy as sp
2.
3.x=sp.Symbol('x') #記号を定義
4.y=2100-70*x  #y=2100-70x
5.y #式を表示
1行目はSymPyモジュールをインポートする命令です。モジュール内の命令を呼び出しやすいように「sp」という名前を付けました。3行目の Symbol()は、式の中で使う記号を定義する命令です。この例では歩き始めからの経過時間をxとして式を立てるので、

x=sp. Symbol('x')

のように命令を実行してください。以降、変数xは方程式で使われる「x」という記号として扱われます。なお、左辺のyは計算結果を入れるための変数なので、記号として定義する必要はありません。
4行目が計算式の定義です。文字式では掛け算の×を省略して「70x」のように書きますが、プログラムでは掛け算の記号は省略できません。注意しましょう。これで変数yには式の右辺が代入されます。5行目では変数yの内容を確認するために、変数名だけを記述しました。
このプログラムを実行すると、

2100-70x

のようにxを含んだ文字式が表示されます。Jupyter NotebookにはMathJax という数学のための表示エンジンが組み込まれているので、SymPyで定義した数式は数学の教科書で見るような読みやすい形で表示されます。(本文より)
------------------------

Pythonで数学。
ちょっとやってみたくなりました。


◆頭の中でシンクロした他の完読作品
『文系でも必ずわかる 中学数学×Python 超簡単プログラミング入門』 

――――――――――――
■読んだきっかけ:書店店頭
■読んで知ったこと:Python、Anaconda、Spyderの関係。
■今度読みたくなった作品:『文系プログラマーのためのPythonで学び直す高校数学』谷尻かおり
――――――――――――

1199_文系でも必ずわかる 中学数学×Python 超簡単プログラミング入門.png


文系でも必ずわかる 中学数学×Python 超簡単プログラミング入門 - 谷尻 かおり(メディックエンジニアリング)
文系でも必ずわかる 中学数学×Python 超簡単プログラミング入門 - 谷尻 かおり(メディックエンジニアリング)






Bookstart2.jpg