コードなしでもベイズ統計ができる無料の神ツール「JASP」 〜 マウス操作だけでここまでできるやさしい推測統計(ベイズ統計編)

プログラミングなしでベイズ統計はできる? 無料ツール「JASP」を使えば、マウス操作だけでベイズ推定やベイズ検定が行えます。これまでPythonで書いてきた二項検定やt検定を、JASPで手軽に試す方法を紹介。『社会人1年生から学ぶ、やさしいデータ分析』ベイズ統計編、番外編(第5回)です。

» 2026年07月15日 05時00分 公開
[羽山博]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

「やさしい推測統計(ベイズ統計編)」のインデックス

連載目次

 ベイズ統計のためのツールにはどんなものがあるの? 連載『社会人1年生から学ぶ、やさしいデータ分析』のベイズ統計編。今回は第5回です。本編の第2回で見た二項推定や二項検定などの事例を使って、JASPと呼ばれる統計ツールを紹介します。JASPはプログラミングの知識が全くなくても対話的に使えるツールで、古典的な手法とベイズ的な手法での統計が可能になっています。

 この連載では、簡単な事例を見ながら、ベイズ統計の考え方と分析の進め方を解説します。新しい用語や考え方が幾つも出てきますが、全てを理解しなくても大丈夫です。登場するたびに、分かりやすく丁寧に説明するので、その時点で分からないことがあっても気にせず、先に進んでください。回を追うごとに、少しずつ理解が深まります。どんな考え方で、どんな手順で分析を進めるのか、といった大きな流れを捉えてください。

連載:

『社会人1年生から学ぶ、やさしい推測統計(ベイズ統計編)』

社会人1年生から学ぶ、やさしい推測統計(ベイズ統計編)

 この連載では、データをさまざまな角度から分析し、その背後にある有益な情報を取り出す方法を学ぶ『社会人1年生から学ぶ、やさしいデータ分析』シリーズの「記述統計と回帰分析編」「確率分布編」「推測統計(区間推定編・仮説検定編)」に続く「ベイズ統計編」です。

 これまでの推測統計を土台に、近年活用が広がっているベイズ統計の考え方と分析手順を、古典的な手法との違いを整理しながら解説します。初めての方でも無理なく理解できるよう具体例を通して進めるとともに、ベイズ的なアプローチの特徴やメリットを実感できる構成とし、「どのように考え、どう使い分けるのか」に重点を置いて解説していきます。

羽山博 羽山博

筆者紹介: IT系ライターの傍ら、かつて、非常勤講師として東大で情報・プログラミング関連の授業を、一橋大でAI関連の授業を担当。まだ発展途上のようだが、生成AIへの質問と回答を分野ごとにまとめ、体系的に整理、補足しつつ、さらに個別の学びを促す記述を加えた資料を一貫して作成できるツールが実用レベルで本格的に使えるようになると、書籍の概念が変わるのではないかと思ったりしている。一斉授業だったものが、ユーザーに合った個別指導のできる書籍といったイメージ。そうなると、出版社のビジネスモデルも大きく変わり、私の仕事もなくなってしまいそうだけど、まあ、そのときは、縁側でお茶でもすすりながら、庭の景色を眺めて暮らすことにしようと思う。ウチには縁側も庭もないけど。


JASPを使えばプログラミングなしでベイズ統計ができる!

 前回までは、ベイズ推定やベイズ検定の仕組みを理解し、それを応用するために、Pythonによるプログラミングを行ってきました。モデルを詳細に定義し、目的の処理を記述するのに適した方法ですが、プログラミングに慣れていない方にはハードルが高く感じられたかもしれません。この連載は、一歩ずつ手順を記述することを通して、ベイズ統計の仕組みをじっくりと身に付けることを主旨としていますが、ある程度決まり切った手法を適用するなら、対話的なツールを利用することは、現実的な選択肢です。

 その選択肢の一つがJASPと呼ばれる統計パッケージです。JASPは無料で利用できるオープンソースのソフトウェアで、JASPという名前はベイズ統計の先駆者であるSir Harold Jeffreysにちなんで付けられたものです(Jeffreys's Amazing Statistics Programの略です)。プログラミングの知識がなくても、統計のさまざまな手法を対話的に実行できます。

 例えば、図1は、第2回で取り上げた事例を基に、二項分布の母比率θのベイズ推定を行った画面(マナブくんの解説を加えたもの)です。詳しい説明は後回しにしますが、JASPがどのようなアプリであるかがイメージできると思います。

JASPの画面 図1 JASPの設定画面と結果画面(ベイズ二項推定の例)
30回の試行中、成功が23回、失敗が7回であった場合、成功確率θをベイズ推定した例。事前分布はα=1,β=1のベータ分布(つまり一様分布)とした。結果は、θの点推定値が0.750、区間推定値が0.589 ≤ θ ≤ 0.881となった。

 JASPでは、設定画面で分析方法や値を指定すると即座に結果が表示されます。図1では、とりあえずJASPの画面イメージを確認していただくだけにして、JASPでできることや、インストール方法、使い方の例については、この後、順に説明します。

JASPでできること

 JASPのインストール方法を説明する前に、JASPでどのようなことができるかを簡単に紹介しておきます。JASPでは、古典的な手法(いわゆる頻度論)による統計も、ベイズ的な手法による統計も可能ですが、ここでは、ベイズ的な手法でできることを一覧にしておきます(JASPのツールバーに表示されるボタンに対応しています)。

分類 手法 備考
t検定 独立した2群のt検定 ステューデントのt検定に対応(第6回)
対応のある2群のt検定 (第7回)
1群のt検定 第3回第4回
分散分析 分散分析 (第13回、第14回)
反復測定分散分析  
共分散分析  
回帰 相関 (第8回)
線形回帰 (第11回、12回)
ロジスティック回帰  
度数分布 二項検定 第1回第2回
A/Bテスト  
分割表 カイ二乗検定(独立性の検定)に対応(第9回)
表1 JASPの機能(主なもの)
JASPの機能のうち、ベイズ的な手法でできる主なものをまとめた。実際には、より多くの詳細な分析が可能だが、基本的なものを中心に掲載してある。この連載で取り上げる事例の分析にも使えるものについては、備考に対応する回を記してある(太字で記したものはこれまでの回で取り上げたものです)。

 もちろん、上に示したものは、全ての機能のうち「はじめの一歩」として取り組みやすい、ごく一部の基本的なものだけです。詳細については、JASPのWebサイトに記されている特長の一覧や、使い方の一覧を参照してください。かなり詳細な分析までできることが分かると思います。


AI博士

 初期設定の状態で表示されているボタン(機能)以外にも、さまざまな追加のモジュールが用意されています。画面右上の[+]ボタンをクリックすると、追加のモジュールが選択できます。追加されたモジュールを利用するためのボタンもツールバーに表示されるようになります。


 なお、この記事の公開日と書籍の刊行時期とがたまたま重なったので、ステマっぽい話になりますが、2026年7月末に近代科学社から『JASPではじめる 基礎からのベイズ統計学』(Thomas J. Faulkenberry著、羽山博訳)が刊行されます。ベイズ統計の仕組みや具体的な適用方法が実感を持って身に付けられる一冊です。興味のある方はぜひご一読ください。

JASPをインストールして日本語化する

 では、JASPのインストール方法を見てみましょう。JASPのサイトにアクセスし、[Download JASP]というボタンをクリックすれば、各OS用のインストールプログラムがダウンロードできる画面が表示されます(図2)。

JASPのインストール 図2 JASPのインストールプログラムを取得できるWebサイト
JASPのインストールは簡単。図に示したWebサイトからインストールプログラムをダウンロードして実行するだけ。LinuxやChromeOSでは準備が必要になる場合もあるが、指示に従って進めていけばよい。

 JASPが対応しているOSはWindows(Windows 10, 11)、macOS(Intel版、Apple Silicon版)、Linux、Chrome OSです。Windowsの場合はMicrosoft Storeから、Linuxの場合はFlathubからダウンロードしてインストールするのがお手軽です。ただし、Flathubを利用するには、あらかじめFlathubのセットアップ(Flatpakのインストールなど)が必要になることがあります。詳細はセットアップの方法を掲載したWebサイトを参照してください。

 インストール後、JASPを起動すると、最初は英語での画面になります。日本語表示にしたいときは、メニューボタン(左上の[≡])をクリックし、[Preferences]-[Interface]を選択して、[Preferred Language]グループの[Choose Language]リストから[ja - 日本語]を選択します(図3)。

JASPを日本語化する 図3 JASPを日本語化する
表示言語はメニューから選択するだけで指定できる。以降はWindows版の日本語画面で説明する(どのOSでも使い方は共通)。

JASPでベイズ二項検定を行う

 ここからはJASPの具体的な利用例を幾つか紹介します。いずれもこれまでに取り扱った例なので、事例の説明は簡単に済ませ、手順を中心にお話しします。二項分布の母数(成功確率θ)をベイズ推定する例については、すでに図1に掲載しました。そのための手順については説明していませんが、先に二項検定の方法を説明します。以下の説明を読めば、二項推定も同様にできることが分かると思います(後で補足します)。

 というわけで、同じ事例でベイズ二項検定を行いましょう。つまり、30回の試行中、成功が23回、失敗が7回というデータが得られた場合に、以下の仮説についてベイズ因子(ベイズファクター)BF10を求めようというわけです。

  • H0:θ=0.5
  • H1:θ ≠ 0.5

 ここでは、θの事前分布をα=1, β=1のベータ分布(つまり連続型一様分布)とします。

 測定値(成功か失敗か)を10で表し、データとして入力して計算する方法もありますが、データが集計されており、成功と失敗の数が分かっているのであれば、[ベイズを学ぶ]モジュールを利用するのが簡単です。まず、画面の右上に表示されている[+]ボタンをクリックして、[ベイズを学ぶ]のチェックマークをオンにします(図4)。

モジュールを追加する 図4 JASPで利用できるモジュールを追加する
画面の右上に表示されている[+]ボタンをクリックすると、追加できるさまざまなモジュールが一覧表示される。[ベイズを学ぶ]ボックスをクリックしてチェックマークをオンにすると、ツールバーに[ベイズを学ぶ]ボタンが表示される。

 ツールバーに表示された[ベイズを学ぶ]ボタンをクリックし、[カウント]の下にある[二項検定]を選択すると、ベイズ二項検定を実行できる画面になります。図5のように設定すれば、画面の右側に結果が即座に表示されます。設定内容については、図の後に箇条書きで記しておきます。

ベイズ二項検定を行う 図5 ベイズ二項検定を行う
成功数23、失敗数7を入力し、仮説を指定すればベイズ因子BF10の値が表示される。BF10=17.01という結果から、仮説1(H1)の方が、仮説0(H0)の17倍支持されることが分かる。

 手順は以下の通りです。図5は以下の設定を行った後の画面です。

  • [データ]セクションの[入力方式]で[カウントの指定]を選択する
  • [カウントデータ]の[成功数]に23を、[失敗数]に7を入力する
  • [仮説]セクションの[+]ボタンをクリックする
    • 「仮説 1」の名前を「仮説 0」に変更する
    • [事前確率]に0.5を入力する
    • [分布]のリストから[Spike]を選択する
    • [パラメータ]は0.5のままでよい
  • [仮説]セクションの[+]ボタンをクリックする
    • 「仮説 2」の名前を「仮説 1」に変更する
    • [事前確率]に0.5を入力する
    • [分布]以降の指定は既定の値のままでよい(α=1,β=1のベータ分布で台が01となっている)

 大体の意味は分かると思いますが、仮説0で指定した「Spike」というのが目新しいかもしれません。これは、ある一点に値が集中している(グラフにするとスパイク=鋭い突起のような形になっている)ことを表します。つまり、仮説0(H0)が、θ=0.5であることを表しています。[パラメータ]の0.5という値がその指定です。

 一方の仮説1(H1)については、最初にθ ≠ 0.5と記しましたが、正確に言えば、θα=1,β=1のベータ分布に従うということでした(この連載の第2回で触れました)。

 [事前確率]は、それぞれの仮説が正しいと想定される事前の確率です。事前にはどちらも同等であると考えられるので、両方とも0.5を指定しています。実際には、比が取られるので、両方を既定値の1のままにしておいても構いません。0.5としたのは、確率であることが分かるように(全体の合計を1に)したかったことと、「五分五分」であることを表したかったからです。

 結果は、BF10=17.01でした。Jeffreysの評価尺度によると、仮説1(H1)を支持する強い証拠となっていることが分かります。つまり、母比率はθ ≠ 0.5である(実質的にθ > 0.5である)と言えます。


AI博士

 最初の図1に示したベイズ二項推定を行うには、[ベイズを学ぶ]ボタンをクリックして[二項推定]を選択します。[カウントデータ]の[成功数]に23を、[失敗数]に7を入力して、[モデル]の[+]ボタンをクリックします。既定でα=1,β=1のベータ分布が指定されているので、図1の上の表が即座に作成されます。さらに、[事前分布と事後分布]セクションを開き、[事後分布]、[個別]、[点推定値]、[CI]をオンにすれば、図1の下のグラフが表示されます。「CI」は「Credible Interval」の略で「信用区間」を表します。


1変数のベイズt検定を行う

 この連載の第3回で取り上げた事例についてもJASPでの分析例を紹介しておきましょう。以下の2つの分析を行いました。

  • シュークリームを30個取り出し、その重さについて母平均と母標準偏差を推定する
  • 重さが100と等しいかどうかを1変数のベイズt検定で調べる

 こちらの事例では、図6のようにデータを入力しておく必要があります。ただし、30件のデータを入力するのは面倒なので(紙面にも全ては掲載していないので)、あらかじめデータを入力したCSVファイルをこちらに用意しておきます。ブラウザーでURLにアクセスし、右上の[Download raw file]ボタン(↓の下に␣が表示されたボタン)をクリックしてダウンロードしてください。JASPの画面に戻って左上の[≡]ボタンをクリックし、[開く]-[コンピュータ]を選択して[参照]ボタンをクリックすれば、読み込むファイル(05.csv)が指定できます。

データを入力する 図6 サンプルデータを読み込んだ画面
データは上に示したサンプルファイル(ファイル名:05.csv)から読み込むとよい。なお、[≡]−[New]を選択するか[新しいデータ]ボタンをクリックして自分でデータを入力する場合、列名は「列 1」と表示されている。その部分をダブルクリックすれば列名の変更ができる。また、データの入力時には、ツールバーに[分析]ボタンが表示されているので、それをクリックすれば、ツールバーに分析のためのボタンが表示され、図のような画面になる。

 データの読み込みができたら、ツールバーの[t検定]をクリックし、[ベイジアン]の下の[1標本のt検定]を選択します。ここでの帰無仮説と対立仮説は以下の通りです。μは母平均です。

  • H0:μ=100
  • H1:μ ≠ 100

 図7のように設定すれば、ベイズ因子BF10が表示されます。設定内容については、図の後に箇条書きでまとめておきます。

1変数のベイズt検定を行う 図7 1変数のベイズt検定を行う
変数を選択し、[検定統計量]を指定するだけで、ベイズ因子BF10が求められる。BF10=78.93という結果から、H1の方が、H079倍支持されることが分かる。

 1変数のベイズt検定を行うための必要最低限の設定は以下の通りです。

  • 左上のリストに表示されている項目名(「重さ」)を選択し、[▶]ボタンをクリックして[変数]リストに入れる(図にはその結果を示してあります)
  • [検定統計量]に100と入力する

 これで、結果画面の上の表が表示されます。BF1078.93となっていることが分かります。これをJeffreysの評価尺度に照らし合わせると、H1が支持される「非常に強い証拠」となっています。つまり、母平均は100とは異なると考えられる(実質的には母平均は100より大きい)、ということです。


AI博士

 第3回で作成したプログラムを実行すると、BF10の値は68.60となり、上の結果とは異なります。第3回のプログラムではマルコフ連鎖モンテカルロ法によるシミュレーションを行いましたが、JASPでは、内部的にRの関数を呼び出して、ガウス求積法と呼ばれる積分のアルゴリズムにより(かなり正確な)近似値を求めています。値が異なるのはそのためです。また、事前分布も異なっています(後述)。なお、第3回のプログラムでdrawsの値を増やせば、JASPでの値に近づきます。


 さらに、母数(パラメーター)を推定するには、図7に示した以下の設定を行います。

  • [プロット]の下の[事前分布と事後分布]チェックマークをオンにする
  • [追加情報]のチェックマークをオンにする(既定でオンになっている)

 これで、結果画面の下のグラフが表示されます。注意すべき点は、JASPでは母平均と母標準偏差をそれぞれ推定するのではなく、効果量を推定するということです。そのため、効果量の事前分布としてコーシー分布と呼ばれる特殊な分布が使われます。

 実は、母分散の事前分布として逆ガンマ分布を使い、母平均の事前分布を正規分布とすると、母平均の事後分布も正規分布となります。この場合、母平均の分布がt分布と一致することが分かっているので、サンプリングを行わなくても母平均の推定値や信用区間が簡単に(解析的に)求められます。図7の設定画面の下にある[その他の統計]の[記述統計量]のチェックをオンにすれば、母平均の点推定値や信用区間が表示されます(画面の右下です)。

 蛇足になるかもしれませんが、JASPと同様の方法で母平均の点推定値と信用区間を求めるプログラムをこちらに作成しておきました。最初のコードセルをクリックし、[Shift]+[Enter]キーを押して実行すれば、結果が表示されます(図7の結果と一致します)。

 プログラムについての簡単な説明はサンプルファイルに含めてありますが、きわめて簡単な式で計算できます。具体的には、効果量の事前分布としてコーシー分布を使い、母分散などについては事前情報を無情報に近づけたJeffreys事前分布と呼ばれる分布を使うものとしています。その場合、母平均の事後分布が

というt分布に従います。また、母分散の事後分布は、

の逆ガンマ分布に従います。

 この辺りの話は数学的にかなり難しくなるので、ここではそのまま結果を受け入れることにしましょう。というわけで、コーシー分布やJeffreys事前分布などについて詳しく知らなくても、これらの式を使えば、点推定値や信用区間が求められます。つまり、t分布の平均は

で、これが母平均の推定値に一致します(一周回って普通の結果に戻ってきましたね)。また、逆ガンマ分布の平均はβ/(α−1)という公式で求められます。従って、母分散の点推定値も簡単に求められるというわけです。

 ただし、JASPと同じ方法でベイズ因子を求めるには、数値積分を行って周辺尤度(しゅうへんゆうど)の比を求める必要があります。ただ、かなり難しくなるので、これ以上は触れないこととします(一応、サンプルファイルに簡単な説明を加えてありますが、この連載の目的はあくまでもベイズ統計「はじめの一歩」です。現時点ではあまり気にしないでください)。


 今回は、番外編として、ベイズ推定やベイズ検定を対話的に行うためのソフトウェアJASPを紹介しました。ここでは、機能のごく一部だけしか紹介していませんが、かなり詳細な分析ができるようになっています。もちろん、モデルの定義などを自由に変更してさまざまな分析を行うには、Python(とPyMCなど)の知識が必要になりますが、相関係数の検定や回帰分析、分散分析など、一般的な分析を行うには十分な機能が備わっているので、ベイズ統計に取り組む「はじめの一歩」としてもオススメできます。最初に触れたように、ある程度、理屈が分かれば、実用的にはJASP(などのツール)を使うのも現実的な選択です。

 さて、次回は本編に戻って、独立した平均の差のベイズt検定に取り組みます。「運動部と非運動部の体力差はあるのか?」という事例を取り扱います(いかにもありそうですが)。どうぞ、お楽しみに!

「やさしい推測統計(ベイズ統計編)」のインデックス

やさしい推測統計(ベイズ統計編)

Copyright© Digital Advantage Corp. All Rights Reserved.

アイティメディアからのお知らせ

スポンサーからのお知らせPR

注目のテーマ

その「AIコーディング」は本当に必要か?
Microsoft & Windows最前線2026
4AI by @IT - AIを作り、動かし、守り、生かす
ローコード/ノーコード セントラル by @IT - ITエンジニアがビジネスの中心で活躍する組織へ
Cloud Native Central by @IT - スケーラブルな能力を組織に
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。