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

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

1
実際のデータセットの線形回帰/予測に失敗する
回帰を実行しようとして失敗したデータセットがあります。 状況: 何千人ものバトルロボットオペレーターが、バトルロボットを使用して互いに戦います。 戦闘ロボットの中には、強力で強力なものもあれば、弱いものもあります。強いものはより頻繁に勝ち、より多くのダメージを与えます。 ロボットオペレーターのスキルはさまざまで、スキルの高いオペレーターが勝つ頻度が高く、より多くのダメージを与えます 彼らの戦いの結果に関するいくつかの要約情報がありますが、詳細のすべてではありません。 彼らが戦闘で使用した戦闘ロボットとその回数(勝利した戦闘の数を含む)、および彼らが与えた合計ダメージ(2種類のダメージAとダメージB)がわかります 一部のロボットはダメージAを与えるのが得意ですが、他のロボットはダメージBを与えます。 戦闘で使用したロボット(およびその回数)のみに基づいて不明な戦闘ロボットオペレーターの場合、達成できる各種類のダメージの量と、勝った可能性が最も高い戦闘の割合(%)を推定します 例えば: ジョンはロボットAを4戦、ロボットBを2戦使用し、240ユニット分のダメージを与えました ジェームズはロボットAを1戦、ロボットBを10戦使用し、1010ユニット分のダメージを与えました したがって、ロボットAはおそらく1戦あたり10ユニットのダメージAを与える一方、ロボットBは1戦あたり100ユニットのダメージAを与えると見積もることができるため、2つのロボットのそれぞれをプレイしただけのマシューによって与えられたダメージAを見積もるそれぞれ2戦、220 ==(10 * 2 + 100 * 2)と推定されます。 残念ながら、実際のデータはそれほどクリーンで簡単ではありません。 ロボットオペレーターのスキルには大きな違いがあります。たとえば、優れたオペレーターはロボットAに20ユニットのダメージを与え、悪いオペレーターは5ユニットしかダメージを与えることができません。 小さなサンプルの場合、対戦相手が引き寄せられるため、ランダムな差異があります(たとえば、誰かが強い対戦相手を引き、対戦相手よりも優れたロボットを持っているにもかかわらず負けます)。 最高のロボットオペレーターが最高のロボットを選んでより頻繁に戦闘に参加するという点で、いくつかのマイナーな選択バイアスがあるかもしれません 実際のデータセットはこちらから入手できます(既知の戦闘オペレーターの結果の63万件)。 http://goo.gl/YAJp4O データセットは次のように構成され、行ごとに1つのロボットオペレーターエントリがあります。 ラベルのない列1-オペレーターID 戦闘-このオペレーターが参加した戦闘の合計 勝利-このオペレーターが獲得した合計戦闘数 敗北-このオペレーターが負けた合計戦闘数 DamageA-与えられたダメージAポイントの合計 DamageB-与えられたダメージBポイントの合計 次の130組の列: battles_ [robotID]-ロボット[robotID]を使用した戦闘 victories_ [robotID]-ロボット[robotID]を使用して獲得した勝利 これまでに行ったこと: R biglmパッケージを使用していくつかの線形モデルをdamageA ~ 0 + battles_1501 + battles_4201 + ...試して、ロボットごとに「期待される」値のフィッティングを取得するなどの式を作成しました。 同じですが0 …

1
Rのglmコマンドを数学表記に変換する
次の一般化線形モデルがあります。オブジェクトglmDVは、試行全体に対する成功の割合としてモデル化されます。オブジェクトx_iは連続変数です。 これは数学表記ではどのように見えますか? winp.glm = glm(glmDV ~ x1 + x2 + x3 + x4 + x5 + x6 + x7, data=myData, family=binomial("logit"))

1
Rのロバストな単調回帰
次のテーブルがあります R df <- structure(list(x = structure(c(12458, 12633, 12692, 12830, 13369, 13455, 13458, 13515), class = "Date"), y = c(6080, 6949, 7076, 7818, 0, 0, 10765, 11153)), .Names = c("x", "y"), row.names = c("1", "2", "3", "4", "5", "6", "8", "9"), class = "data.frame") > df x y 1 2004-02-10 …

1
負の二項回帰モデルのなげなわ
とにかく、Rで負の二項回帰を使用してLASSOを実行できますか?データが分散しすぎてポアソン回帰を適用できないため、データセットで負の二項回帰を実行しています。その間、多重共線性の問題にも直面しています。私はすでにで使用しようとしglmnetましたfamily = poissonが、データはあまりうまく適合していません(アルファ= 0とアルファ= 1の両方)...この大きなデータの混乱を分析するために何をすべきか正直にわかりません:/ ありがとうございました 編集:これは負の二項適合の分散共分散表です 8.392729e+18 1.239178e+06 -3.624090e+05 1.896258e+17 -3.702521e+17 1.239178e+06 1.119052e-04 5.201989e-06 -1.877590e+05 -2.558095e+05 -3.624090e+05 5.201989e-06 5.179343e-06 -8.021543e+04 -1.436381e+05 1.896258e+17 -1.877590e+05 -8.021543e+04 2.193290e+17 6.413947e+16 -3.702521e+17 -2.558095e+05 -1.436381e+05 6.413947e+16 2.142183e+17

1
異なるグループの再現性(ICC)を比較する方法は?
2つのグループのICC値を計算しました。次に、ICC値を比較して、グループの再現性が異なるかどうかを判断します。文献では、人々は単に再現性を比較するためにt検定を使用しましたが、これを行う方法は私には不明確です。 たとえば、ダミーデータの場合: ID gr day behaviour 1 1 1 0.361 2 1 1 0.232 3 1 1 0.240 4 1 1 0.693 5 1 1 0.483 6 1 1 0.267 7 2 1 0.180 8 2 1 0.515 9 2 1 0.485 10 2 1 0.567 11 2 1 0.000 …

1
円に均一に分布した点をどのように生成できますか?
Rで450のデータポイントを生成しようとしています。半径が異なる(1、2.8、および5の)円形バンドにそれぞれ分散した3つの異なるセット150があります。 特に、The Elements of Statistical Learningのp546の最初のグラフを再現したいと思っています。 このデータを生成する可能性があるRコードの支援に感謝します。 ありがとう!

2
分位点回帰の行列の特異性の原因
quantregパッケージを使用して、Rで分位点回帰を実行しています。データセットには、0.12から330までの範囲の12,328の観測が含まれています。データのタイムポイントは正確に連続的ではありません。すべてのデータは、73から397までの数十のビンの1つに分類されます。 lm()関数を使用してこのデータに線形回帰を実行すると、最大4の多項式でこれを行うことができました。 lm(Y~poly(X,3,raw=TRUE),data=mydata) ただし、パッケージquantregとrq()コマンドでは、多項式を使用できません。単純な回帰は問題なく機能します。 rq(Y~X,data=mydata,tau=.15) しかし、私が多項式に入るとすぐに、サイコロはありません。これを入力すると: rq(Y~poly(X,2,raw=TRUE),data=mydata,tau=.15) 次のエラーメッセージが表示されます。 Error in rq.fit.br(x, y, tau = tau, ...) : Singular design matrix 私は特異行列について読みましたが、これには2つの理由があると思います。(1)各軸に1つの変数しかない、または(2)データがビニングされている、またはY変数が本当に連続的ではない。 このエラーが発生する理由を誰かに教えてもらえますか? PS-これはグラフがどのように見えるかです:
8 r  regression 

2
Rの1クラスSVMの例
Rで1クラスのSVMを実行しようとしています。e1071/ ksvm kernlabパッケージを使用しようとしています。しかし、私がそれを正しく行っているかどうかはわかりません。 Rの1クラスSVMの実用的な例はありますか? また、 Xとして予測子の大きな行列を与えています。これは1クラスであるはずなので、私が与えたすべてのトレーニングデータは「ポジティブ」クラスを形成すると仮定していますか?もしそうなら、ラベルに「Y」を付ける必要はありませんか? 出力として与えられる予測ラベルはTrue / Falseです。つまり、Trueは「ポジティブ」クラスであると想定しています。 編集:サンプルコードを添付します。ここでは、「TRUE」クラスの60%をサンプリングし、完全なデータセットでテストしました。 library(e1071) library(caret) data(iris) iris$SpeciesClass[iris$Species=="versicolor"] <- "TRUE" iris$SpeciesClass[iris$Species!="versicolor"] <- "FALSE" trainPositive<-subset(iris,SpeciesClass=="TRUE") inTrain<-createDataPartition(1:nrow(trainPositive),p=0.6,list=FALSE) trainpredictors<-iris[inTrain,1:4] testpredictors<-iris[,1:4] testLabels<-iris[,6] svm.model<-svm(trainpredictors,y=NULL, type='one-classification', nu=0.5, scale=TRUE, kernel="radial") svm.pred<-predict(svm.model,testpredictors) confusionMatrixTable<-table(Predicted=svm.pred,Reference=testLabels) confusionMatrix(confusionMatrixTable,positive='TRUE')
8 r  svm 

2
カテゴリー応答変数予測
次の種類のデータ(Rでコード化)があります。 v.a = c('cat', 'dog', 'dog', 'goat', 'cat', 'goat', 'dog', 'dog') v.b = c(1, 2, 1, 2, 1, 2, 1, 2) v.c = c('blue', 'red', 'blue', 'red', 'red', 'blue', 'yellow', 'yellow') set.seed(12) v.d = rnorm(8) aov(v.a ~ v.b + v.c + v.d) # Error v.bまたはの値にの値v.cを予測する能力があるかどうかを知りたいのですがv.a。私は(上記のように)分散分析を実行しますが、私の応答変数は序数ではないため(カテゴリカルであるため)、意味がありません。私は何をすべきか?

1
グループ平均について推論するとき、信頼区間は被験者内分散に敏感ですが、信頼区間はそうではありませんか?
これはこの質問 から派生したものです。Rを使用して各個人の複数の測定値を持つ2つのグループを比較する方法は? そこでの回答で(私が正しく理解した場合)、被験者内分散はグループ平均についてなされた推論に影響を与えず、単純に平均の平均をとってグループ平均を計算し、次にグループ内分散を計算してそれを使用することは問題ありません有意性検定を実行します。サブジェクト内の分散が大きいほど、グループについて確信が持てない、またはそれを望んでも意味がない理由を理解できない方法を使用したいと思います。 これは、元のデータと、同じ被験者平均を使用したシミュレーションデータのプロットですが、これらの平均と被験者内分散(sd = .1)を使用して、正規分布から各被験者の個々の測定値をサンプリングしました。見て取れるように、グループレベルの信頼区間(一番下の行)はこれに影響されません(少なくとも私が計算した方法)。 また、3つの方法でグループ平均を推定するためにrjagsを使用しました。1)元の生データを使用する2)被験者の手段のみを使用する3)被験者内sdが小さいシミュレーションデータを使用する 結果は以下の通りです。この方法を使用すると、95%の信頼できる間隔は、ケース#2と#3で狭いことがわかります。これは、グループ平均について推論するときに何をしたいのかという私の直感に一致しますが、これがモデルのアーチファクトなのか、信頼できる間隔のプロパティなのかはわかりません。 注意。rjagsを使用するには、まずここからJAGSをインストールする必要があります:http ://sourceforge.net/projects/mcmc-jags/files/ さまざまなコードを以下に示します。 元のデータ: structure(c(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, …

4
日付を含むデータの回帰
3年間で100か国以上で営業している3つのサプライヤーからの数百のトランザクションを含むデータセットがあります。 販売国は、達成される価格の重要な要素ではないことがわかりました(製品は多かれ少なかれグローバルな商品です)。時間の経過とともにすべての価格が大幅に下落しています。1日は、同じサプライヤー(つまり、異なる国)から異なる価格で複数のトランザクションを持つことができます。 さまざまなサプライヤーから請求される価格に統計的に有意な差があるかどうかをテストしたいと思います。 データは次のようになります。 Country X 1/1/2010 $200 Supplier A Country Y 1/1/2010 $209 Supplier A Country Z 1/1/2010 $187 Supplier A Country A 1/1/2010 $200 Supplier B Country X 1/2/2010 $188 Supplier B これを行う方法についてのアイデア?.....

1
R-2乗の信頼区間
多重線形回帰を実現すると、R二乗と調整済みR二乗の信頼区間を計算できることを知っています。誰かがRでそれを行う方法を知っていますか?

1
lmとlmeの重みの引数はRで大きく異なります-私はそれらを正しく使用していますか?
したがって、lmの重み関数は、関連する観測の「重み」値が大きいほど観測に重みを与えるように思えますが、lmeのlme関数は正確に反対です。これは簡単なシミュレーションで確認できます。 #make 3 vectors- c is used as an uninformative random effect for the lme model a<-c(1:10) b<-c(2,4,6,8,10,100,14,16,18,20) c<-c(1,1,1,1,1,1,1,1,1,1) ここで、lmの従属変数の逆数に基づいて観測値に重み付けするモデルを実行する場合、逆数をとらずに、従属変数だけで重み付けした場合にのみ、nlmeでまったく同じ結果を生成できます。 summary(lm(b~a,weights=1/b)) summary(lme(b~a,random=~1|c,weights=~b)) これを反転して、逆が真であることを確認できます。lmでweights = bを指定すると、一致するlme結果を取得するにはweights = 1 / bが必要です。 だから、私はこれをよく理解しています。あることについて検証し、別のものについて質問したいだけです。 従属変数の逆に基づいてデータに重みを付けたい場合、lme内でweights =〜(従属変数)をコーディングするだけで問題ありませんか? lmeがlmとはまったく異なる重みを処理するように書かれているのはなぜですか?混乱を引き起こす以外に、これの目的は何ですか? どんな洞察もいただければ幸いです!

1
ベータ事前分布は二項尤度の下で事後にどのように影響しますか
2つの質問があります。 質問1:可能性が二項であり、事前分布がベータである場合、事後分布がベータ分布であることをどのように示すことができますか 質問2:以前のパラメーターの選択は事後にどのように影響しますか?それらはすべて同じである必要はありませんか? Rでこれらの質問に答えることは可能ですか?

2
行列が正定でない場合の二次計画法
http://cran.r-project.org/web/packages/quadprog/quadprog.pdf Rパッケージquadprogは、行列が正定の場合にのみ、2次計画問題を解くことができるようです。DDD ただし、行列が正定でない場合があります。といったDDD 最小(x2+ y2− 6 x y)従うx + y3 x + yx 、y≤≤≥1 、1.5 、0。分(バツ2+y2−6バツy)従うバツ+y≤1、3バツ+y≤1.5、バツ、y≥0。\begin{eqnarray} \min(x^2 + y^2 - 6xy) \\ \text{subject to}\quad\quad x + y &\leq& 1,\\ 3x + y &\leq& 1.5,\\ x,y &\geq& 0. \end{eqnarray} この種の問題を解決するにはどうすればよいですか?
8 r  optimization 

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