J1 Visa: Two Year Ruleの落とし穴

Summary 注意事項 以下の記載内容は、筆者の個人的な経験をまとめたものにすぎません。間違いがないよう気をつけましたが、本記事の情報をもとに不利益を被ったとしても一切の責任を負いかねますのでご留意願います。 経緯 現在J1ビザでアメリカに滞在している私は、8月から始まる新しい職に就くためにH-1Bビザに切り替える必要があった。しかし、この関係で非常にややこしい問題にぶち当たった。J1ビザに伴う帰国義務(2年ルール)に課されていないものと信じていたのだが、実は課されていることが判明し、H-1Bビザに申請できない状態に陥ってしまったのである。この経緯について、今後同じような問題に陥る人が少しでも減るよう情報をまとめておきたいと思う。 J1ビザの帰国義務(2年ルール) J1ビザとは、知識の国際交流を目的に創設されたアメリカのビザのカテゴリーであり、その取得の容易さから多くの研究者がアメリカに長期滞在する際に利用している。しかし、その容易さと引き換えに制約がある。それが今回の問題の発端となった2年ルール(Two-Year Home-Country Physical Presence Requirement)である(参照)。このルールは、アメリカで経験を積んだのちに最低2年間は母国で過ごさない限り(もしくは帰国義務免除が承認されない限り)、Hビザやグリーンカードなど、特定のビザに申請できなくなるというものだ。ただし、このルールはJ1ビザで渡航している人すべてに課されているわけではなく、以下の条件のいずれかを満たした人に課されるとされている(アメリカ国務省のWEBページにより;参照)。 Government funded Exchange Program - You participated in a program funded in whole or in part by a U.S. government agency, your home country’s government, or an international organization that received funding from the U.S. government or your home country’s government. Specialized Knowledge or … Continue reading J1 Visa: Two Year Ruleの落とし穴

Regression Example in JAGS

Summary 様々な確率分布を仮定した単回帰モデルのJAGSスクリプトの例。基本的には、リンク先のスクリプトのLiklihoodの箇所を変更し、各種パラメーターの事前分布を指定してやればよい。 Gaussian Yのとりうる値の範囲:実数 \[ y_i \sim Normal(\mu_i, \sigma^2)\\ \mu_i = \beta_1 + \beta_2x_i \] Y[i] ~ dnorm(mu[i], tau) # tau is precision mu[i] <- b[1] + b[2]*X[i] Poisson Yのとりうる値の範囲:0以上の整数 \[ y_i \sim Poisson(\lambda_i)\\ ln\lambda_i = \beta_1 + \beta_2x_i \] Y[i] ~ dpois(lambda[i]) log(lambda[i]) <- b[1] + b[2]*X[i] Binomial Yのとりうる値の範囲:0以上N以下の整数 \[ y_i \sim Binomial(N_i, p_i)\\ … Continue reading Regression Example in JAGS

How to use JAGS: Simple Linear Regression

Summary JAGSの基本的な使い方の備忘録。ここでは、もっとも単純な単回帰モデルをJAGSで実装する。実装の手順は大きく二つに分けられる。(1)JAGSモデルの記述:JAGS言語を使ってJAGSのモデルファイルを記述する。(2)Rによる実装:RからJAGSのモデルファイルを走らせる。 JAGSモデルの記述 サンプルデータ ここではもっとも単純な例として、(GLMでも分析できる)単回帰モデルの分析をJAGSでする。ここで使用するサンプルデータは次のようになっている。 head(dat1) ## Y X ## 1 11.859762 6.635249 ## 2 4.682198 2.290394 ## 3 14.809464 7.288998 ## 4 7.549894 3.507948 ## 5 8.841815 3.150085 ## 6 13.473219 8.793556 plot(Y ~ X, dat1) このデータに対し、応答変数\(y_i\)を説明変数\(x_i\)で説明する簡単な統計モデルを考える(添え字\(i\)はサンプルのID番号)。応答変数\(y_i\)の誤差は正規分布に従うと仮定し、以下の統計モデルを考える。 \[ y_i \sim Normal(\mu_i, \sigma^2)\\ \mu_i = \beta_1 + \beta_2 x_i \] ここで、\(\beta_1\)は切片(intercept)を、\(\beta_2\)は回帰係数(slope)を表しており、これらが推定対象となる主なパラメーターである。 JAGSの記法 上の統計モデルをJAGS言語で書き下すと以下のようになる。 # JAGS … Continue reading How to use JAGS: Simple Linear Regression

Line

Summary 散布図にGLMなどの予測値を加える方法の備忘録。plot関数で図示したのち、abline関数やlines関数で上書きする。 Gaussian function “abline” First argumentに切片、Second argumentに傾きを入れる 正規分布を仮定したモデルの場合のみ有効 fit <- lm(Y ~ X, dat1) plot(Y ~ X, dat1) # estimated intercept and slope fit$coefficients ## (Intercept) X ## 0.07065496 0.20422560 # first argument: intercept, second argument: slope abline(fit$coefficients[1], fit$coefficients[2]) function “lines” 説明変数Xの最小値から最大値までの範囲の値を100等分(もしくはより多く)する変数xを作る 新しい変数xを基にしたdata.frameを作る predict関数で予測値をえる lines関数で書き加える fit <- lm(Y ~ X, dat1) # set new … Continue reading Line

Plot

Summary plot関数の使い方に関する備忘録 ポイント ポイントタイプを変える plot関数のpchを変更する plot(Y ~ X, dat1, pch = 1) plot(Y ~ X, dat1, pch = 19) ポイントサイズを変える plot関数のcexを変更する(デフォルトを1としたときの相対値を指定) plot(Y ~ X, dat1, cex = 3) フチの色を変える plot関数のcolを変更する plot(Y ~ X, dat1, pch = 21, col = "red") 中身の色を変える plot関数のbgを変更する(ただし、pch21など中身の色を変えられるシンボルを指定) #with border plot(Y ~ X, dat1, pch = 21, bg = "red") #with … Continue reading Plot

Ordinal Logistic Model

Summary 順序はあるが、定量的ではないデータに適用される統計モデル。例えば、環境状態を良い順に1-5のスコアで評価したデータなどが考えられる。詳細はこちらで解説されている。 function “polr” パッケージ:MASS ランダム効果:不可 その他:なし # sample data plot(as.numeric(dat1$Y) ~ X, dat1) # fitting with "polr" fit <- polr(Y ~ X, data = dat1) summary(fit) ## ## Re-fitting to get Hessian ## Call: ## polr(formula = Y ~ X, data = dat1) ## ## Coefficients: ## Value Std. Error t value ## X … Continue reading Ordinal Logistic Model

Generalized Linear Mixed Effect Model

Summary グループ構造のあるデータに対して適用される統計モデリングの枠組み。正規分布に従うグループレベルの誤差を加えることで、グループ間の違いを考慮しながら説明変数の効果(偏回帰係数)を推定する。 function “lmer” 確率分布:正規分布 パッケージ:lme4 その他:なし # sample data plot: points are colored by group Col <- rainbow(10) plot(Y ~ X, data = dat1, pch = 21, bg = Col[dat1$groupID], col = NA) # run lmer fit <- lmer(Y ~ X + (1|factor(dat1$groupID)), data = dat1) summary(fit) ## Linear mixed model fit by REML … Continue reading Generalized Linear Mixed Effect Model

Generalized Linear Model

Summary 統計モデリングの枠組みのひとつ。リンク関数を導入することで、様々な確率分布を仮定した線形モデルを統一的に扱う。 function “lm” 確率分布:正規分布 パッケージ:デフォルト その他:一般線形モデル(General Linear Model)と呼ばれることもある # sample data plot(Y ~ X, dat1) # run lm fit <- lm(Y ~ X, data = dat1) summary(fit) ## ## Call: ## lm(formula = Y ~ X, data = dat1) ## ## Residuals: ## Min 1Q Median 3Q Max ## -0.213395 -0.061946 0.007265 0.067644 0.230442 … Continue reading Generalized Linear Model