計量
Benjamini-Hochberg法の重回帰での意義 重回帰分析においてBenjamini-Hochberg法(BH法)を適用する主な意義は、多重検定問題に対処することである。重回帰分析では複数の説明変数の係数に対して同時に仮説検定を行うため、偽陽性(第一種の過誤)が増加する…
科学と証拠―統計の哲学 入門―作者:エリオット・ソーバー名古屋大学出版会Amazon Evidence and Evolution: The Logic Behind the Science作者:Sober, ElliottCambridge University PressAmazon ベイジアン主義の限界 事前確率の設定: ベイジアン主義では、事…
データの読み込み こちら(https://ides.hatenablog.com/entry/2024/06/21/235127)で使った心臓病のデータを使用する。 library(dplyr) url <- "https://archive.ics.uci.edu/ml/machine-learning-databases/heart-disease/processed.cleveland.data" column_…
Lassoの技法のひとつである安定性選択とランダム化された安定性選択があるが、これらの方法は結果がスパースになるという問題がある。 要は、選ばれる変数が少なく、とてもスリムにモデルになってしまうという問題である。 github.com link.springer.com ar5…
安定性選択(Stability Selection)について。 ides.hatenablog.com データは説明はこちら。 ides.hatenablog.com データの作成と前処理 library(dplyr) url <- "https://archive.ics.uci.edu/ml/machine-learning-databases/heart-disease/processed.clevelan…
従属変数が連続変数のLasso回帰を今まで紹介してきたが、今回は従属変数が2値、つまりロジットモデルのLasso回帰の例を示す。 使用するのは心臓病のデータである。 データの作成 # データの読み込み(heart disease datasetを使用) url <- "https://archive…
kーfold CVのやり方はこちら。 ides.hatenablog.com また、結果にどのくらいの安定性があるか、計算のたびに異なる乱数を与え、kーfold CVのLassoの計算を100回反復した。1) 独立変数側で選ばれた変数の回数、2)選ばれた時の推定値の平均とその標準偏差を計算…
一つ抜き交差検証(Leave-One-Out Cross-Validation, LOOCV)は、各データポイントを一度だけ検証データとして使用し、残りのデータを訓練データとして使用する交差検証である。具体的には、まずデータセットから1つのデータポイント(1ケース分のデータ)を…
モンテカルロ交差検証(Monte Carlo cross-validation, MCCV)、もしくは反復ランダムサブサンプリング検証(Repeated random sub-sampling validation)と呼ばれる方法は、訓練データと検証データをランダムに分割し、ホールドアウト法と同じく訓練データに基づ…
安定性選択の方法の一つ。 ides.hatenablog.com ランダム化された安定性選択は、変数選択プロセスにランダム性を導入する方法であり、変数選択の安定性を向上させることを目的としている。この方法では、データを繰り返しサブサンプリングし、Lasso回帰を適…
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)は、モデルの性能評価とλの選定におけるバイアスを排除するための検証手法である。この方法は、外側と内側という比喩を用いて説明される。外側のクロスバリデーションと内側のクロスバリデーションの二重構造から…
クロスバリデーションの基本的な方法ホールドアウト法やり方と変数選択と推定の安定性のシミュレーションを行った。 n-fold クロスバリデーションがよくつかわれているため、ホールドアウト法はあまり使われないので実践向きではない。 今回は訓練データを70…
stat.paperswithcode.com HDCI(High-Dimensional Confidence Intervals)はは、Lasso回帰とRidge回帰の欠点を補うという点にある。 Lasso回帰は、変数選択を行う際に多くの変数の係数をゼロにするため、少ししか関連性のない変数が推計から排除される可能性…
反復交差検証 Repeated Cross-Validationの安定性のシミュレーションを行った。 反復交差検証については以下のエントリを参照。 ides.hatenablog.com ides.hatenablog.com 安定性のシミュレーションはLOOCVやnーfolds CVの場合と同様に異なった乱数シードを使…
Repeated Cross-Validation(RCV)はCVを反復して安定性を高めようという方法である。 ides.hatenablog.com ただ、何回繰り返せばよいかわからない。 説明を読んでいると5回から10回くらいであろうと書いてあるが、その根拠は経験則のようだ。 社会調査で使う…
データの読み込み 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…
こちらで利用したデータとコードを用いる。 ides.hatenablog.com データの準備 library(haven) library(tidyr) # データの読み込みと前処理 auto <- haven::read_dta("http://www.stata-press.com/data/r9/auto.dta") auto <- auto %>% drop_na() # 全カラム…
通常のクロスバリデーションでは乱数によって結果がかなり違うため、そこで今回は一つ抜き交差検証(Leave-One-Out Cross-Validation, LOOCV)の安定性のシミュレーションを行うことにした。 LOOCVの計算の方法はこちら。 ides.hatenablog.com また、結果に…
LASOOPACKの作者が簡単に解説していたので、まずはそれを参考にシミュレーションをしてみる。 statalasso.github.io 基本形 Stata // データの読み込み webuse auto, clear drop if rep78==. // Lasso 10-folds CV lasso linear price mpg-foreign, grid(1, …
Rからデータをエクスポート まずはデータをつくるところから。 library(AER) data(CPS1985) library(dplyr) CPS1985 <- CPS1985 %>% mutate(married = case_when( married == "yes" ~ 1, married == "no" ~ 0)) library(rio) export(CPS1985, "CPS1985.dta")…
Rからデータをエクスポート まずはデータをつくるところから。 library(AER) data(CPS1985) library(rio) export(CPS1985, "CPS1985.dta") Sataのdoファイル // データの読み込み use "CPS1985.dta", clear // OLSの推定値を計算し、その結果をols_modelとし…
1. ホールドアウト法(Holdout Method) 教師データとテストデータを分ける方法。最も基本的な方法 良い点 シンプルで理解しやすい:データを単純にトレーニングセットとテストセットに分けるだけなので、実装が簡単で直感的に理解しやすい。 モデルの性能評…
Lasso (Least Absolute Shrinkage and Selection Operator)は、線形回帰モデルに対してペナルティを課すことで、変数選択と回帰係数の推定を同時に行う手法。 特徴 変数選択: 重要でない変数の係数をゼロにすることができるため、変数選択機能を持っている。…
www.rdocumentation.org サポートベクターマシンは、分類、新奇性検出、回帰のための優れたツールである。ksvmは、ネイティブのマルチクラス分類の定式化や境界制約SVMの定式化とともに、よく知られたC-svc、ν-svc、(分類)one-class-svc(新奇性)eps-svr…
どこにでもあるようなコードだが、走らせてみたのでメモっておこう。 サポートベクターマシンでirisデータを分類し主成分分析で次元削減をした2次元プロットをする data("iris") str(iris) 'data.frame': 150 obs. of 5 variables: $ Sepal.Length: num 5.1 …
robustbaseパッケージではMM推定、S推定、Koller & Stahel (2017)、Koller (2012)による補正設定を用いたMM推定が可能である。 www.rdocumentation.org MM推定 MM推定はYohai(1987)によって提案された方法である。MM推定はM推定で得られた残差標準偏差を最小…
以前に書いたロバスト推定の方法。こちらにP値の出し方を書いていなかったので、補足。 ides.hatenablog.com 通常の重回帰分析 mod <- lm(wage ~ gender + age + education, data = CPS1985) summary(mod) 結果: Coefficients: Estimate Std. Error t value…
CPS1985データを使い、wageを従属変数、genderとageと独立変数とした重回帰分析を行う。 RStudioでの実行。R.4.3.3+Stools4.3を使用。 data { int<lower=0> N; // サンプルサイズ int<lower=0, upper=1> X_1[N]; // 独立変数(性別、0: 男性、1: 女性) vector[N] X_2; // 独立変数: 年</lower=0,></lower=0>…
RStudioでの実行。R.4.3.3+Stools4.3を使用。 Stanコード ``{stan output.var="stan_model"} // stanファイルを読み込まない方にするには"```{stan output.var="stan_model"} "と書く data { int<lower=0> N; // サンプルサイズ int<lower=0, upper=1> X[N]; // 独立変数(性別、0: 男性</lower=0,></lower=0>…