タグ付けされた質問 「r」

このタグは、(a)質問の重要な部分または予想される回答として「R」が含まれる* on-topic *の質問に使用します。&(b)「R」の使い方について「*」だけではありません。

2
多問試験での不正行為のパターンの検出
質問: 試験問題のバイナリデータがあります(正しい/正しくない)。一部の個人は、質問とその正解のサブセットに事前にアクセスした可能性があります。私は誰、何人、または誰がわからない。不正行為がない場合、アイテム正しい応答の確率をとしてモデル化するとします。ここで、は質問の難易度を表し、は個人の潜在能力です。これは、Rのltmのrasch()のような関数で推定できる非常に単純な項目応答モデルです。潜在変数の推定(個人にインデックスを付ける)に加えて、個別の推定にアクセスできますL O G I T ((P iは = 1 | Z ))= β I + Z β I Z 、Z jは j個のq Jiiilogit((pi=1|z))=βi+zlogit((pi=1|z))=βi+zlogit((p_i = 1 | z)) = \beta_i + zβiβi\beta_izzzz^jz^j\hat{z}_jjjjq^jq^j\hat{q}_j 不正行為が不可能な別のデータセットから派生した同じ潜在変数の。 目標は、だまされた可能性が高い個人と、だまされたアイテムを識別することです。あなたが取るかもしれないいくつかのアプローチは何ですか?生データに加えて、、、およびがすべて利用可能ですが、最初の2つは不正のためにバイアスがあります。理想的には、ソリューションは確率的クラスタリング/分類の形で提供されますが、これは必須ではありません。正式なアプローチと同様に、実用的なアイデアは大歓迎です。 Z j個のq jをβ^iβ^i\hat{\beta}_iz^jz^j\hat{z}_jq^jq^j\hat{q}_j これまで、スコアの高い個人と低い個人のペアの質問スコアの相関を比較しました(は彼らがだました確率の大まかな指標)。たとえば、個人をでソートし、個人の質問スコアの連続するペアの相関をプロットしました。また、値がの分位よりも大きい個体のスコアの平均相関をプロットしてみました、関数として。どちらのアプローチにも明らかなパターンはありません。のq J - Z j個のq J - Z j個のq J - Z jをNTHの …

3
Rの列ごとの行列の正規化[終了]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、相互検証のトピックになるようにします。 6年前に閉鎖されました。 Rの行列の列ごとの正規化を実行したいと思います。行列が与えられた場合m、各要素を列の合計で除算して各列を正規化します。これを行う1つの(ハック的な)方法は次のとおりです。 m / t(replicate(nrow(m), colSums(m))) 同じタスクを達成するためのより簡潔/エレガント/効率的な方法はありますか?

2
R時系列ベクトルのサブセット化
時系列があり、開始、終了、および頻度を保持しながら、時系列として保持しながらサブセット化します。 たとえば、時系列があるとします。 > qs <- ts(101:110, start=c(2009, 2), frequency=4) > qs Qtr1 Qtr2 Qtr3 Qtr4 2009 101 102 103 2010 104 105 106 107 2011 108 109 110 今、私はそれをサブセットします: > qs[time(qs) >= 2010 & time(qs) < 2011] [1] 104 105 106 107 正しい結果が得られましたが、時系列(つまり、開始、終了、頻度)から「ラッピング」を失ったことに注意してください。 このための機能を探しています。時系列のサブセット化は一般的なシナリオではありませんか?私はまだ見つけていないので、ここに私が書いた関数があります: subset.ts <- function(data, start, end) { …
25 r  time-series 

1
lmeで複数の(個別の)ランダム効果を指定する[非公開]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、相互検証のトピックになるようにします。 6か月前に閉鎖されました。 私はRパッケージnlmeおよびlme4で作業し、複数のランダム効果を持つモデルを指定しようとしました。分散の異種構造を指定できるのはnlmeのみであることがわかりました。したがって、温度(Y)が時間(時間)に依存し、インターセプトが日付と年によって異なり、分散も年によって異なるモデルを取得しました。 fit1 <- lme(Y ~ time, random=~1|year/date, data=X, weights=varIdent(form=~1|year)) ただし、別のランダムな用語(日付によって異なる時間)を追加する必要がある場合、次のようにモデルを指定します。 fit2 <- lme(Y ~ time, random=list(~1|year, ~time-1|date, ~1|date), data=X, weights=varIdent(form=~1|year)) ランダム効果は互いに入れ子になります。年の日付。そして、日付と年の日付。 私も試しました one <- rep(1, length(Y)) fit3 <- lme(Y ~ time, random=list(one=pdBlocked(list(pdSymm(~1|year/date), pdSymm(~time-1|year)))), data=X, weights=varIdent(form=~1|year)) ただし、エラーが発生します。 Error in pdConstruct.pdBlocked(object, form = form, nam = nam, data …

3
カテゴリー変数を使用したロジット回帰の相互作用項の解釈
私は、回答者が4つのグループのいずれかにランダムに割り当てられた調査実験のデータを持っています。 > summary(df$Group) Control Treatment1 Treatment2 Treatment3 59 63 62 66 3つの治療グループは適用される刺激がわずかに異なりますが、私が気にする主な違いはコントロールと治療グループの間です。そこで、ダミー変数を定義しましたControl: > summary(df$Control) TRUE FALSE 59 191 調査では、回答者は(特に)次の2つのうちどちらを優先するかを選択するように求められました。 > summary(df$Prefer) A B NA's 152 93 5 次に、治療グループによって決定されたいくつかの刺激を受けた後(対照グループの場合は刺激なし)、回答者は同じ2つのことから選択するように求められました。 > summary(df$Choice) A B 149 101 3つの治療グループのうちの1つに属していることが、この最後の質問で回答者が行った選択に影響を与えたかどうかを知りたいです。私の仮説は、治療を受けた回答者が治療するよりAも選択する可能性が高いということですB。 カテゴリデータを使用していることを考えると、ロジット回帰を使用することにしました(それが間違っていると思われる場合はお気軽にご連絡ください)。回答者はランダムに割り当てられたため、他の変数(人口統計など)を必ずしも制御する必要はないという印象を受けているため、この質問ではそれらを省略しました。私の最初のモデルは単純に次のものでした: > x0 <- glm(Product ~ Control + Prefer, data=df, family=binomial(link="logit")) > summary(x0) Call: glm(formula …

3
ロジスティック回帰の評価とHosmer-Lemeshow適合度の解釈
誰もが知っているように、ロジスティック回帰モデルを評価するには2つの方法があり、それらは非常に異なることをテストしています 予測力: 独立変数に基づいて従属変数を予測できる程度を測定する統計を取得します。よく知られたPseudo R ^ 2はMcFadden(1974)とCox and Snell(1989)です。 適合度の統計 このテストは、モデルをより複雑にすることでさらに改善できるかどうかを判断します。これは、実際には非線形性または相互作用があるかどうかをテストすることです。 私のモデルに両方のテストを実装しましたが、 すでに2次および相互作用が追加されています。 >summary(spec_q2) Call: glm(formula = result ~ Top + Right + Left + Bottom + I(Top^2) + I(Left^2) + I(Bottom^2) + Top:Right + Top:Bottom + Right:Left, family = binomial()) Coefficients: Estimate Std. Error z value Pr(>|z|) (Intercept) 0.955431 8.838584 …

4
時系列異常検出のアルゴリズム
現在、RでTwitterのAnomalyDetectionを使用しています:https : //github.com/twitter/AnomalyDetection。このアルゴリズムは、季節性のあるデータの時系列異常検出を提供します。 質問:これに似た他のアルゴリズムはありますか(季節性の制御は重要ではありません)? 私はデータで可能な限り多くの時系列アルゴリズムをスコアリングしようとしています。これにより、最適なもの/アンサンブルを選択できます。

2
ベイジアン投げ縄vs通常の投げ縄
lassoにはさまざまな実装ソフトウェアが用意されています。さまざまなフォーラムで、ベイジアンアプローチと頻度主義的アプローチについて多くのことを話し合っています。私の質問はなげなわ特有のものです - ベイジアンなげなわと通常のなげなわの違いや利点は何ですか? パッケージ内の実装の2つの例を次に示します。 # just example data set.seed(1233) X <- scale(matrix(rnorm(30),ncol=3))[,] set.seed(12333) Y <- matrix(rnorm(10, X%*%matrix(c(-0.2,0.5,1.5),ncol=1), sd=0.8),ncol=1) require(monomvn) ## Lasso regression reg.las <- regress(X, Y, method="lasso") ## Bayesian Lasso regression reg.blas <- blasso(X, Y) それで、いつ私は1つまたは他の方法に行くべきですか?それとも同じですか?

1
巨大なスパース分割表を視覚化する方法は?
私には2つの変数があります:薬物名(DN)と対応する有害事象(AE)は、多対多の関係にあります。33,556の薬名と9,516の有害事象があります。サンプルサイズは約580万回の観測です。 DNとAEの関連/関係を研究し、理解したい。写真を見たほうが良いので、このセットをRで視覚化する方法を考えています。どうすればいいのかわかりません...

4
これは、自殺カウントデータの季節的影響をテストする適切な方法ですか?
私は、米国の州の自殺による死亡に関連する17年(1995年から2011年)の死亡証明書データを持っています。確認しましたが、使用した方法の明確な感覚や結果に対する自信が得られません。 そのため、データセット内の特定の月に自殺が多かれ少なかれ発生する可能性があるかどうかを判断できるかどうかを確認しました。私の分析はすべてRで行われます。 データに含まれる自殺者の総数は13,909人です。 自殺が最も少ない年を見ると、309/365日(85%)に発生します。自殺が最も多い年を見ると、それらは339/365日(93%)に発生しています。 したがって、毎年自殺のないかなりの日数があります。ただし、17年間すべてで集計すると、2月29日を含む1年の毎日に自殺があります(平均が38の場合は5人のみ)。 1年の各日に自殺者の数を単純に合計しても、明確な季節性を示すものではありません(私の目には)。 月ごとのレベルで集計すると、月あたりの平均自殺者の範囲は次のとおりです。 (m = 65、sd = 7.4、m = 72、sd = 11.1) 私の最初のアプローチは、すべての年の月ごとにデータセットを集計し、月ごとの自殺数に系統的な分散がないという帰無仮説の予想確率を計算した後、カイ二乗検定を行うことでした。日数を考慮して(そしてうるう年の2月を調整して)各月の確率を計算しました。 カイ2乗の結果は、月ごとに大きな変動がないことを示しています。 # So does the sample match expected values? chisq.test(monthDat$suicideCounts, p=monthlyProb) # Yes, X-squared = 12.7048, df = 11, p-value = 0.3131 下の画像は、1か月あたりの合計数を示しています。水平の赤い線は、それぞれ2月、30日月、31日月の期待値に配置されています。カイ2乗検定と一致して、予想カウントの95%信頼区間外にある月はありません。 時系列データの調査を開始するまで、私は終わったと思いました。多くの人が想像するstlように、statsパッケージの関数を使用したノンパラメトリック季節分解法から始めました。 時系列データを作成するには、集約された月次データから始めました。 suicideByMonthTs <- ts(suicideByMonth$monthlySuicideCount, start=c(1995, 1), end=c(2011, 12), frequency=12) …

2
GAMに相互作用用語を含める方法
次のコードは、2つの時系列間の類似性を評価します。 set.seed(10) RandData <- rnorm(8760*2) America <- rep(c('NewYork','Miami'),each=8760) Date = seq(from=as.POSIXct("1991-01-01 00:00"), to=as.POSIXct("1991-12-31 23:00"), length=8760) DatNew <- data.frame(Loc = America, Doy = as.numeric(format(Date,format = "%j")), Tod = as.numeric(format(Date,format = "%H")), Temp = RandData, DecTime = rep(seq(1, length(RandData)/2) / (length(RandData)/2), 2)) require(mgcv) mod1 <- gam(Temp ~ Loc + s(Doy) + s(Doy,by …

3
結果が分数(2つのカウントの比率)の場合、Rでロジスティック回帰を行う方法は?
私は次の生物学的実験がある論文をレビューしています。デバイスを使用して、細胞をさまざまな量の流体せん断応力にさらします。より大きなせん断応力がセルに適用されると、より多くのセルが基板から剥離し始めます。せん断応力の各レベルで、付着したままの細胞をカウントします。また、最初に付着した細胞の総数を知っているため、部分的な付着(または剥離)を計算できます。 付着率とせん断応力をプロットすると、結果はロジスティック曲線になります。理論的には、個々のセルはそれぞれ1つの観測ですが、明らかに数千または数万のセルがあるため、通常の方法(各行が観測)でセットアップされた場合、データセットは巨大になります。 ですから、当然、私の質問(タイトルで述べられているように)は今では意味があります。DVとして分数の結果を使用してロジスティック回帰を行うにはどうすればよいですか?glmで実行できる自動変換はありますか? 同じ線に沿って、潜在的に3つ以上の(分数の)測定がある場合、多項ロジスティック回帰の場合、これをどのように行いますか?

2
なぜlmeとaovはRの反復測定ANOVAに対して異なる結果を返すのですか?
ezパッケージの使用からlme反復測定ANOVA に移行しようとしています(カスタムコントラストをで使用できるようになるとよいのですがlme)。 このブログ投稿からのアドバイスに従って、aov(ez要求された場合のように)との両方を使用して同じモデルをセットアップすることができましたlme。ただし、その投稿で示されている例では、F値はaovとの間で完全に一致lmeしています(チェックし、一致しています)が、これは私のデータには当てはまりません。がFの -値が類似している、彼らは同じではありません。 aov1.3399のf値をlme返し、1.36264を返します。aovこれは「正しい」結果として受け入れます。これもSPSSが返すものです(そしてこれが私のフィールド/スーパーバイザーにとって重要なことです)。 質問: この違いが存在する理由lmeと、信頼できる結果を提供するために私がどのように使用できるかを誰かが説明できれば素晴らしいと思います。(「正しい」結果が得られれば、このタイプのもののlmer代わりに喜んで使用しますlme。しかし、私はこれまで使用していません。) この問題を解決した後、コントラスト分析を実行したいと思います。特に、最初の2つのレベルの因子(つまりc("MP", "MT"))をプールし、これを3番目のレベルの因子(つまり)と比較することに興味があり"AC"ます。さらに、因子の第四レベル(すなわち、対第三のテスト"AC"対"DA")。 データ: tau.base <- structure(list(id = structure(c(1L, 2L, 3L, 4L, 5L, 6L, 7L, 8L, 9L, 10L, 11L, 12L, 13L, 14L, 15L, 16L, 17L, 18L, 19L, 20L, 21L, 22L, 1L, 2L, 3L, 4L, 5L, 6L, 7L, 8L, 9L, 10L, 11L, 12L, 13L, 14L, …

3
毎日の時系列分析
私は時系列分析を行おうとしており、この分野は初めてです。2006年から2009年までのイベントを毎日数えており、時系列モデルをそれに合わせたいと考えています。これが私が達成した進歩です。 timeSeriesObj = ts(x,start=c(2006,1,1),frequency=365.25) plot.ts(timeSeriesObj) 結果のプロットは次のとおりです。 データに季節性と傾向があるかどうかを確認するには、この投稿に記載されている手順に従います。 ets(x) fit <- tbats(x) seasonal <- !is.null(fit$seasonal) seasonal そしてロブ・J・ハインドマンのブログで: library(fma) fit1 <- ets(x) fit2 <- ets(x,model="ANN") deviance <- 2*c(logLik(fit1) - logLik(fit2)) df <- attributes(logLik(fit1))$df - attributes(logLik(fit2))$df #P value 1-pchisq(deviance,df) どちらの場合も、季節性がないことを示しています。 シリーズのACFとPACFをプロットすると、次のようになります。 私の質問は: これは、毎日の時系列データを処理する方法ですか?このページは、週ごとと年ごとのパターンを検討する必要があることを示唆していますが、そのアプローチは明確ではありません。 ACFプロットとPACFプロットを取得した後、どのように進めるかわかりません。 auto.arima関数を単純に使用できますか? fit <-arima(myts、order = c(p、d、q) ***** Auto.Arimaの結果を更新****** ここでRob Hyndmanのコメントに従ってデータの頻度を7に変更すると、auto.arimaは季節ARIMAモデルを選択して出力します。 …

3
分散データが不十分な場合の適切なモデルは何ですか?
私は、明らかに分散が不十分なRのカウントデータをモデル化しようとしています(分散パラメーター〜.40)。これがおそらくglmwith family = poissonまたは負の二項(glm.nb)モデルが重要でない理由です。データの説明を見ると、カウントデータの典型的なスキューはなく、2つの実験条件の残差も均一です。 だから私の質問は: カウントデータが実際にカウントデータのように動作しない場合、カウントデータに特別な回帰分析を使用する必要さえありますか?私は時々非正規性に直面します(通常は尖度が原因です)が、非正規性を説明するためにトリム平均を比較するためにパーセンタイルブートストラップ法(Wilcox、2012)を使用しました。カウントデータのメソッドは、Wilcoxによって提案され、WRSパッケージで実現されている堅牢なメソッドに置き換えることができますか? カウントデータに回帰分析を使用する必要がある場合、分散不足をどのように説明しますか?ポアソン分布と負の二項分布はより高い分散を前提としているため、適切ではないでしょうか?準ポアソン分布を適用することを考えていましたが、通常は過剰分散に推奨されます。私は、Rのパッケージで過分散と過小分散を説明できると思われるベータ二項モデルについて読みましたVGAM。しかし、著者は、ティルドポアソン分布を推奨しているようですが、パッケージには見つかりません。 。 誰でもデータが分散していない場合の手順を推奨できますか?また、おそらくそのためのサンプルRコードを提供できますか?

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.