2016-09-15 7 views
2

spatstatのポイントパターンモデルのレバレッジプロットを作成する際に問題が発生しています。これは奇妙です、なぜなら、昨日はまったく同じモデルで完璧に動作していたからです。レバレッジ機能のエラー:置き換えられるアイテムの数が代替長の倍数ではありません

私は3つの共変量とGeyerインタラクションを持つモデルを持っています。これは警告メッセージを生成することなく正しく実行されます。私はレバレッジプロットを作成しようとすると、しかし、私が最初にこの警告が出ます:

Large quadrature scheme split into blocks to avoid memory size 
limits;6404 dummy points split into 8 blocks, the first 7 blocks 
containing 801 dummy points and the last block containing 797 dummy 
points 

そして、このエラー:

Error in ppmInfluenceEngine(fit, what = what, ..., iScore = iScore, iHessian = iHessian, : 
number of items to replace is not a multiple of replacement length 

私は問題はRがしようとしているという事実とは何かを持っていると仮定します以前は、クラッシュしておらず、まったく同じモデルのレバレッジプロットを作り出すことができたので、それを分割する必要はありませんでした(または、少なくともそれについて私に知らせたくないので!)

library(spatstat) 
#generate a pattern 
pattern <- rpoispp(1454) 
summary(pattern) 
#generate a covariate 
cov1 <- rnoise(rgen = rnorm, dimyx=32, mean=2, sd=1, w = pattern$window) 
cov2 <- rnoise(rgen = rnorm, dimyx=32, mean=1, sd=7, w = pattern$window) 
cov3 <- rnoise(rgen = rnorm, dimyx=32, mean=5, sd=10, w = pattern$window) 

#fit the model 
fit <- ppm(pattern ~ cov1 + cov2 + cov3, Geyer(r = 0.01, s = 0.02)) 

leverage(fit) #this produces the warning and then the error 

Rバージョン3.3.1とspatstatバージョン1.46-1を実行しています

答えて

1

ありがとうございます。私たちができるだけ早く修正しようとする、spatstatのバグです。お使いのコンピュータに十分なメモリを持っている場合は、設定することにより、直交分割を避けることができます。

spatstat.options(maxmatrix = 2^26) 

用心:あなたはこのを行うと、あなたは十分なメモリを持っていない場合はお使いのコンピュータは、しばらくの間、ハングすることがあります。場合によっては、これらの計算を中断するのが難しいかもしれないので、これを試す前に、開いているファイルなどを保存するだけで安全です。

+0

喜んで助けてください!なぜこれが(正確に同じモデルで)分割する必要がなかったのか、そしてそれはどうしたのですか?私は多くのメモリを必要とするコンピュータで追加プログラムを実行していませんでした... –

+0

いいえ、それは奇妙に聞こえます。間にRやspatstatを更新しましたか?あるいは、直角法のダミー点の数を決める 'nd'の値を手動で設定しましたか? spatstatの関数は、コンピュータの実際の負荷とは完全に独立しているため、他のものが動作しているかどうかは関係ありません。このコードは、直角位相スキームのポイント数が 'maxmatrix'オプションよりも小さいかどうかをチェックし、' maxmatrix'ポイントがそれ以上ある場合、計算を分割します。 –

0

エラーメッセージ

number of items to replace is not a multiple of replacement length

は確かにスパース行列の取り扱いに関連したspatstatのバグです。 ご連絡ありがとうございます。

the spatstat github repositoryから利用可能なspatstat、バージョン1.46-1.043以降の現在の開発バージョンでこのバグが修正されました。

メッセージ

Large quadrature scheme split into blocks to avoid memory size limits;

は、あなたの情報のための唯一のメッセージの警告ではありません。

関連する問題