筋トレや読書のことをはじめとして、プログラミングその他日常生活における様々なことについて書いていきます。python」とか出てくるにも関わらず、日本語の記事は全く存在しなかったので僕が書きたいと思います。本記事では、マクネマー検定の概要およびPythonで行う方法を解説します。マクネマー検定とはpythonでマクネマー検定を実装する方法まとめマクネマー検定とはマクネマー検定は様々な研究に使われています。共通のデータに対して、2つの手法やシステム間に統計的な有意差があるかどうかを調べます。今回は自然言語処理を例にとります。以下のようになります。100このとき、システムAの正解率(精度)は42%、システムBは57%ということになります。単純な精度ではシステムBが優位に思えますが、統計的な観点からも検定する必要があります。これを行うのがマクネマー検定です。2つのシステムは差がないとして、有意差を確認します。この時、考えるのは2つのシステムでどちらか一方のみ正解となった35事例です。帰無仮説が成立するとすると、この35事例は2つのシステムどちらかで50%の確率で正解します。よって片方のシステムの成功数の確率分布は、確率0.5の二項分布に従います。これを数式で表せば、となります。有意水準を5%で考えれば、帰無仮説を棄却。よって2つのシステム間に有意差があるとなります。有意水準を1%で考えれば、帰無仮説を採択です。2つのシステム間には差がありません。以上の流れが、マクネマー検定となります。pythonでマクネマー検定を実装する方法statsmodelsを使います。2の行列を入力します。これでpの値が得られます。パラメーターは以下です。)exactはデフォルトでTrue、Trueの場合は二項分布、Falseの場合はカイ二乗分布です。correctionはexactがFalseの場合のみ適用されます。カイ二乗分布に連続性の補正を加えます。上記では、.pvalueを使っています。デフォルト出力は、Bunchクラスが出力されます。これはほとんど辞書だと思ってもらって構いません。出力には、pvalueとstatisticがあります。pvalueはそのままPの値、statisticはexactがFalseの場合にはカイ二乗統計量です。Trueの場合は、上記の例の場合、25と10の小さいほうが与えられます。まとめいかがでしたか?本記事では、Pythonでマクネマー検定を行う方法をまとめました。日本語記事が全くないと思うので参考にしてくださいね。はてなブログPro筋トレを愛する大学4年生。(1)このブログについてプライバシーポリシーお問い合わせスポンサーリンク。