井出草平の研究ノート

2024-06-01から1ヶ月間の記事一覧

ロジットモデルのLasso回帰,10-fold CV[R]

従属変数が連続変数のLasso回帰を今まで紹介してきたが、今回は従属変数が2値、つまりロジットモデルのLasso回帰の例を示す。 使用するのは心臓病のデータである。 データの作成 # データの読み込み(heart disease datasetを使用) url <- "https://archive…

kーfoldクロスバリデーションを用いたLassoにおける変数選択の安定性[R]

kーfold CVのやり方はこちら。 ides.hatenablog.com また、結果にどのくらいの安定性があるか、計算のたびに異なる乱数を与え、kーfold CVのLassoの計算を100回反復した。1) 独立変数側で選ばれた変数の回数、2)選ばれた時の推定値の平均とその標準偏差を計算…

LOOCVを用いたLassoにおける変数選択の安定性[R]

一つ抜き交差検証(Leave-One-Out Cross-Validation, LOOCV)は、各データポイントを一度だけ検証データとして使用し、残りのデータを訓練データとして使用する交差検証である。具体的には、まずデータセットから1つのデータポイント(1ケース分のデータ)を…

モンテカルロ交差検証を用いたLasso[R]

モンテカルロ交差検証(Monte Carlo cross-validation, MCCV)、もしくは反復ランダムサブサンプリング検証(Repeated random sub-sampling validation)と呼ばれる方法は、訓練データと検証データをランダムに分割し、ホールドアウト法と同じく訓練データに基づ…

ルームエアコンの普及率へのモデルフィッティング[R]

「主要耐久消費財の普及率」の推移のデータを用いて、ルームエアコンの普及率へのモデルフィッティングを行う。 https://www.e-stat.go.jp/stat-search/files?page=1&layout=datalist&toukei=00100405&tstat=000001014549&cycle=0&tclass1=000001200820&tcla…

ランダム化された安定性選択(Randomized Stability Selection)[R]

安定性選択の方法の一つ。 ides.hatenablog.com ランダム化された安定性選択は、変数選択プロセスにランダム性を導入する方法であり、変数選択の安定性を向上させることを目的としている。この方法では、データを繰り返しサブサンプリングし、Lasso回帰を適…

ShahとSamworthによる安定性選択 Stability Selection for Lasso[R]

www.rdocumentation.org データの準備 library(haven) library(tidyr) auto_data <- haven::read_dta("http://www.stata-press.com/data/r9/auto.dta") auto_data <- auto_data %>% drop_na() # 全カラムに対してNAがない行を抽出 auto_data$foreign <- as.i…

入れ子交差検証/Nested Cross-Validation[R]

入れ子交差検証(Nested Cross-Validation)は、モデルの性能評価とλの選定におけるバイアスを排除するための検証手法である。この方法は、外側と内側という比喩を用いて説明される。外側のクロスバリデーションと内側のクロスバリデーションの二重構造から…

Lasso ホールドアウト法と変数選択と推定の安定性のシミュレーション[R]

クロスバリデーションの基本的な方法ホールドアウト法やり方と変数選択と推定の安定性のシミュレーションを行った。 n-fold クロスバリデーションがよくつかわれているため、ホールドアウト法はあまり使われないので実践向きではない。 今回は訓練データを70…

高次元スパース線形モデルにおけるパラメータの信頼区間を構築するためのブートストラップLasso+部分リッジ法[R]

stat.paperswithcode.com HDCI(High-Dimensional Confidence Intervals)はは、Lasso回帰とRidge回帰の欠点を補うという点にある。 Lasso回帰は、変数選択を行う際に多くの変数の係数をゼロにするため、少ししか関連性のない変数が推計から排除される可能性…

反復交差検証 Repeated Cross-Validationを用いたLassoの安定性のシミュレーション[R]

反復交差検証 Repeated Cross-Validationの安定性のシミュレーションを行った。 反復交差検証については以下のエントリを参照。 ides.hatenablog.com ides.hatenablog.com 安定性のシミュレーションはLOOCVやnーfolds CVの場合と同様に異なった乱数シードを使…

反復交差検証 / Repeated Cross-Validationを用いたLasso、シミュレーションを行いベストな反復回数を求める[R]

Repeated Cross-Validation(RCV)はCVを反復して安定性を高めようという方法である。 ides.hatenablog.com ただ、何回繰り返せばよいかわからない。 説明を読んでいると5回から10回くらいであろうと書いてあるが、その根拠は経験則のようだ。 社会調査で使う…

反復交差検証 / Repeated Cross-Validationを用いたLasso[R]

データの読み込み library(haven) library(tidyr) # データの読み込みと前処理 auto <- haven::read_dta("http://www.stata-press.com/data/r9/auto.dta") auto <- auto %>% drop_na() # 全カラムに対してNAがない行を抽出 # foreign列を整数に変換 auto$for…

Lassoで必ず独立変数に入れる変数を指定する[R]

こちらで利用したデータとコードを用いる。 ides.hatenablog.com データの準備 library(haven) library(tidyr) # データの読み込みと前処理 auto <- haven::read_dta("http://www.stata-press.com/data/r9/auto.dta") auto <- auto %>% drop_na() # 全カラム…

LOOCVを用いたLassoにおける変数選択の安定性[R]

通常のクロスバリデーションでは乱数によって結果がかなり違うため、そこで今回は一つ抜き交差検証(Leave-One-Out Cross-Validation, LOOCV)の安定性のシミュレーションを行うことにした。 LOOCVの計算の方法はこちら。 ides.hatenablog.com また、結果に…

R glmnetパッケージとStataのLassoを比較する[R][Stata]

LASOOPACKの作者が簡単に解説していたので、まずはそれを参考にシミュレーションをしてみる。 statalasso.github.io 基本形 Stata // データの読み込み webuse auto, clear drop if rep78==. // Lasso 10-folds CV lasso linear price mpg-foreign, grid(1, …