※講義資料をDocswell(ドクセル)
に移行しています。
各リンクをクリックすると,ファイルの置いてあるページへと移動します。
これまでに担当した講義のために作成した資料
ベイズ統計とは何かを簡潔に紹介し,なぜベイズ統計が利用されているのか,その理由をいくつか紹介する。 また,cmdstanrのインストールも簡単に解説する。
確率に関するいくつかの基本的なことを復習したあとで,ベイズの定理をきちんと理解するための練習と,ベイズ統計学におけるベイズの定理の位置づけを説明する。
尤度および尤度関数についておさらいした後で,ベイズ統計学における尤度関数の位置づけを説明する。 また,stanで尤度関数がうまく復元できることを確認しつつstanの基本中の基本的なことを説明する。
ベイズ統計における事前分布の設定および共役事前分布について説明する。 また,最も基本的な問題として二項分布のパラメータ推定問題について,最尤法・共役事前分布を用いた解析的な導出・stanでの推定を試し,結果の比較や点推定・区間推定を行う。
前の資料に引き続き,基本的な問題としてポアソン分布・正規分布のパラメータ推定問題について,最尤法・共役事前分布を用いた解析的な導出・stanでの推定を行う。
ベイズ統計で頻繁に用いられるMCMC法を理解するための準備段階として,「モンテカルロ法」と「マルコフ連鎖」についてそれぞれ解説する。
代表的なMCMC法のアルゴリズムである「メトロポリス・ヘイスティングス法」「ギブスサンプリング」,stanで採用されている「ハミルトニアンモンテカルロ法」をそれぞれ解説する。
MCMCによって得られたサンプルの適切さを評価する方法として,Rhatや有効サンプルサイズを解説する。 また,cmdstanrを使用する際の様々な設定や,得られた結果を可視化する様々な方法を紹介する。
作成した統計モデルがデータにフィットしているかを評価する方法として事後予測チェックを紹介する。 また推定されたパラメータの事後分布に基づいて仮説を検証する方法として,pd (probability of direction),ROPE (region of practically equivalent),MAP-based p-valueについて解説する。
ベイズ統計の枠組みで複数の統計モデル(仮説)を比較するためのツールとして,ベイズファクターおよび周辺尤度について解説する。 また,周辺尤度を数値計算する方法であるブリッジサンプリング法の実装および情報量規準についても簡単に紹介する。
線形回帰分析のマルチレベルモデルをベイズ統計モデリングの枠組みで実装し,階層的に事前分布を設定するベイズ階層モデリングの基本を解説する。
マルチレベル線形回帰分析について,階層事前分布を使うことのメリットについて少し解説した後で, モデルを拡張する方向性の1つとして「レベル2の説明変数」「回帰係数間の相関構造」をstanで扱うためのモデルの書き方を解説する。
より複雑な確率分布を表現するために,複数の確率分布を混ぜる混合分布の考え方を紹介する。 また,stanで混合分布を実装する際に重要な離散パラメータの取り扱いについて説明する。
ウォーミングアップとして,統計学の視点からみた「データ」について考える。
同じ数字であってもできる処理が異なることから尺度水準の考え方を導入。
平均値・中央値・最頻値などの代表値と,偏差や分散・標準偏差といった散布度の指標を紹介。
量的な2変数の関係を表す指標として,共分散および相関係数を紹介。
相関係数の利用に関する注意点(疑似相関や因果関係との違いなど)の説明。
質的な2変数の関係を表す指標として,連関係数を紹介。
量的な2変数の関係を表す方法として回帰分析を紹介。
回帰直線の意味,最小二乗法の考え方,決定係数などの説明。
複数の説明変数を用いる重回帰分析についても軽く解説。
統計的推測の話に入るための第一歩として,統計的推測の目的から「母集団」と「標本」という2つのグループの関係性について説明。
統計的推測では確率的な推論を行うため「そもそも確率変数とは何か」という話から,データを確率変数として考えるということ, そして確率分布とは何かを説明。
ベーシックな統計学で頻繁に登場する代表的な離散確率分布(二項分布・ベルヌーイ分布・ポアソン分布・幾何分布)および連続確率分布(正規分布・指数分布)を紹介。 また,標準正規分布表を用いた確率の計算方法および確率分布間の関係性についても解説。
推測統計の目的である母数に関する推測のために必要となる,標本統計量の分布(標本分布)の考え方を導入。
データをもとに,母数を推定(点推定・区間推定)する方法およびその理論的基盤を解説。
あらゆる統計的仮説検定の背景にある「帰無仮説・対立仮説」「有意水準」「検定統計量」「検定力」などの概念を導入。
仮説検定の割とベーシックなもの(正規母集団の母平均:分散既知・未知の場合など)をもとに,実際の仮説検定の流れを紹介。 また,仮説検定と区間推定の関係性についても解説。
回帰分析モデルにおける統計的推定および統計的仮説検定の解説。 また,回帰分析モデルをもとに「統計モデリング」の考え方を紹介。
これまでの講義内容を元に,実際に社会科学ではどのように統計学が用いられているかの一例として,一般化線形モデル・統計的学習・統計的因果推論・多変量解析・ベイズ統計を簡単に紹介。
講義準備としてRのインストールから基本操作を念のため説明。
Rによるデータの読み込みと,この後の講義で必要になるデータフレームの基本操作を一通り説明。
データを分析できる状態にするための前処理(欠測値の削除・適当な回答の検出・逆転項目の処理)の考え方およびRでの実行方法を紹介。
収集したデータを問題なく分析にかけられるかを評価するための方法として,項目分析(I-T相関・トレースライン)を紹介。
また,使用した尺度(項目)に問題がなかったかを判断するために,信頼性や妥当性の考え方について説明。
各種分析手法の紹介に向けた準備として,各手法のベースにある回帰分析の理論的な部分をおさらいしつつ,いくつかの重要な概念を説明。
複数の項目への回答に影響する共通の要因を抽出する分析法である(探索的)因子分析について, 前半では理論的な考え方とRでのやり方を説明し,後半では実践上のいくつかのトピック(事前分析・回転・因子数の決定など)を解説。
複数の観測変数間の関係性について柔軟なモデルをあてはめて分析を行う構造方程式モデリングについて, 前半では理論的な考え方とlavaanでのやり方を説明し,後半では実践上のいくつかのトピック(モデル適合度・モデル修正・多母集団同時分析・PLS-SEMなど)を解説。
データから「回答者の特性値」と「項目の特性値」を同時に推定する分析法である項目反応理論について, 前半では理論的な考え方とmirtでのやり方を説明し,後半では実践上のいくつかのトピック(多値,多次元モデル・テスト情報量・様々な拡張など)を解説。
導入として,心理尺度データを分析することの難しさについて説明。
研究の過程で作成したRやstanのコード
rstan
では,引数pars
を使えば不要なパラメータ(相関行列の元になるcholesky_factor_corr
型など)を保存せずに済んだのですが,
一方でcmdstanr
のsampling()
にはそのような設定が無さそう(ある?)なので,全て保存されてしまい出力のサイズが莫大になってしまうことがありました。
そこで,事後的にcsvファイルを直接書き換えて不要なパラメータに関する部分を削除するRコードを作成しました。sampling()
時に引数sig_figs
(各サンプリングを何桁保存するか)を3くらいまで小さくすると更にサイズを小さくできます。
sampling()
時に引数output_dir
およびoutput_basename
を指定しておいてファイルの保存先を明示する
cmdstanr_extract_variables()
の第1引数にpaste0(output_dir, output_basename)
を指定する
remove_zerovar = TRUE
にすると,分散がゼロのパラメータ(相関行列の対角成分など)も削除する
cmdstanr
のsampling()
結果をsummary()
したものから,特定の列だけを抜き出してlist
型に変換します。vector
型やmatrix
型のパラメータなどはそのままのサイズで抜き出すことができます。
CmdStanFit
型オブジェクト(sampling()
後のもの)を与えた場合は$summary()
を行い,パラメータをlist
型に変換します。
draws_summary
型オブジェクト($summary()
の出力)を与えた場合は,そのままパラメータをlist
型に変換します。
研究会やセミナーのために作成した資料など