2016-12-15 1 views
2

私はrがとても新しく、正確なロジスティック回帰(ELR)のためにelrmパッケージを使用しています。私は結果を再現することができるようにしたいので、私の研究から、シミュレーションのシードを設定する必要があるようです。elrmパッケージに種を設定することはできますか?

私のデータセットは、過去の記録特性、標準化された評価のリスクレベル、およびプログラムが再犯の割合にどのように影響するかに関する犯罪的再犯と関係があります。だから、治療は私の主要な独立変数であり、再犯率(RECID_sum/case_sum)は私の従属変数です。

私はこれをいくつかの方法で試しました。

まず、私はこれを実行した後

set.seed(66672) 

を走った、私はELRのために以下のコードを実行します。

m.treatment <- elrm(formula = RECID_sum/case_sum ~ TREATMENT + FDRUGVSP + 
FPROPVSP + FELEVENTVSP + RISK + street_time + TREATMENT, interest =~ TREATMENT, 
iter=100000, dataset=final, burnIn=100) 

そして、私も設定してくださいされた後、異なる結果を得たたびに、もう一度コードを実行する前に再度シードしてください。

私はまた、次のことを試してみました:

m.treatment <- elrm(formula = RECID_sum/case_sum ~ TREATMENT + FDRUGVSP + 
FPROPVSP + FELEVENTVSP + RISK + street_time + TREATMENT, interest =~ TREATMENT, 
iter = 100000, dataset = final, burnIn = 100); set.seed(66672) 

が、異なる結果に私はそれを実行するたびに受けました。私はこのコードを実行してもエラーは発生しませんでした。

私は一般的にモンテカルロシミュレーションのシードを設定するための研究を行ってきましたが、そのアプローチはここでは当てはまりそうにありません。 elrmパッケージにELRの種を設定することについての情報はありません。私はrでの私の相対的な未熟さのためにそれを見逃す可能性があり、私は私が探しているものを正確に知ることができないかもしれません。通常は私はSPSSを使用しています。これは非常に扱いにくく、残念なことにELRを意味のある方法で実行することはできません。

これは簡単な回答であれば、あなたが提供できるヘルプは大変ありがとうございます。

+0

使用適切な形式のhttp:さらに悪い何

はRNGの初期化がハードコードされているようだということです://stackoverflow.com/help/how-to-ask –

答えて

0

残念ながら、私はそうは思わない。 C++ source codeに掘削する基礎となるコードはシステムrand() functionを使用していることを示している:Rの内蔵として(C++コード内からアクセスすることができる)乱数発生器自体で

## binomMCMC.cpp, line 31:  
double runif = (float) rand()/RAND_MAX; 

これは、少し厄介であるれていますgenerally considered to be more reliable, and faster, than Unix rand()。 ...

## binomMCMC.cpp, line 251 
srand((unsigned int)time(NULL)); 

は、私はここにあなたの唯一のオプションは、メンテナ( maintainer("elrm"))に連絡することだと思う

+0

ありがとうございました! –

+0

感想が評価されている間、StackOverflowは[ありがとう]と言うコメントを使用して非推奨です(http://meta.stackoverflow.com/questions/258004/should-thank-you-comments-be-flagged?lq=1) ;この回答が有用であれば、十分な評判があればそれをアップヴォートすることができます。また、あなたの質問に満足して答えた場合は、それを受け入れるためにチェックマークをクリックすることをお勧めします。 –

関連する問題