2011-08-04 6 views
0

誰にでも以下のことを行う最善の方法を教えてください。ランダムにデータのサブセットを選択して、平均レベルがオフになっている場所を確認してください

私は3つの変数(X、Y &Z)と4つのグループ(1,2,4)を持っています。私はSPSSの判別関数解析を使って、グループ化されていない既知のデータのグループメンバーシップを予測し、将来のグループ化されていないデータに使用しています。

理想的には、データのサブセットの数をランダムにサンプリングして、希望する正しい分類率に達するのに必要な観測数を確認できます。

しかし、これは難しいかもしれないと私は理解しています。したがって、私は手段のためにこれを行うことを探しています。

たとえば、変数Xにグループ1の平均値141があるとします。この平均値は、2000年の観測値から計算されている可能性があります。しかし、その平均が、例えば、700回の観測で起こった可能性がある。私はデータの平均レベルを観測/ケースの何点で計算できるようにしたいと考えています。たとえば、おそらく10回の観測から始まり、これをランダムに50〜100回繰り返すと、20回の観測に増加します。

私はこれがモンテカルロテストの一形態であると理解しています。私はSPSS 15,17,18にアクセスでき、優れています。私もminitab 15 & 16とamos17にアクセスし、 "R"をダウンロードしましたが、これらに精通していません。私の経験はSPSSであり、優れています。私はSPSS Modifiedからいくつかの構文を試してきました.http://pages.infinit.net/rlevesqu/Syntax/RandomSampling/Select2CasesFromEachGroup.txtしかし、これはまだかなりの時間をサブセット番号などを入力する私の部分にかかるだろうなど

ご希望の方は、お手数ですが、

読んでいただきありがとうございます。

アンディ

+0

Rはこの種のものを行うのにはかなりいいです。あなたが将来このようなことをもっとしているのを見たら、それを使う方法を学ぶ価値があります。私がRを使っていたのであれば、グループのランダムなサブセットを無作為に取って、サブセットのサイズが小から大になるようにし、それらの平均を計算します。次に、平均/サブセットサイズのグラフにそれらをすべてプロットして、それらが何かに収束しているかどうかを確認します。これの実装は、実際のプログラミング言語では非常に簡単ですが、Excelのようなプログラムでは難しいです。 – Oliver

答えて

1

あなたがにリンクされたテキストは、良いスタートでは、(あなたはまた、SPSSでSAMPLEコマンドを使用することができますが、IMO Raynaldスクリプトあなたがそのようにサンプルを構築について考えるときには、より柔軟性のあるリンク) 。

擬似コードでは、プロセスは次のようになります。 SPSSのマクロ言語の出番ここ

do n for sample size (a to b) 
    loop 100 times 
     draw sample size n 
     compute (& save) statistics 

は(私はthis documentが良い入門と思い、プラスあなたはSPSS tag wiki上の他の参照を調べることができる)です。基本的に、サンプルを描画し、必要な統計を計算する方法を理解したら、プロセスをループしてサンプルサイズのパラメータを渡すことができるように、マクロを書き込む方法を理解する必要があります。ループを100回含めると、各サンプルサイズに関連付けられたエラーについての推定を行うことができるためです。

統計をどのように計算するかの例を挙げると、それをマクロ関数にする方法の例を示し、必要な回数だけループすることができます。ご提案の男性のための

0

@Andy W

@Oliver感謝。 Iveは次のマクロを使用して回避策を見つけることができました。......... http://www.spsstools.net/Syntax/Bootstrap/GetRandomSampleOfVariousSizeCalcStats.txtただし、このためには変数をコピーして貼り付ける必要があります所定のグループのデータを新しいデータウィンドウに表示する。それはあまり問題ではない。これをさらに知りたい人は誰でも知っているでしょう:1 /私は他の統計情報を記録することができます。例えば、std error、std dev ectct。 2 /他の分析、理想的には判別関数の分析を使用し、新しいデータウィンドウに記録する。出力テーブルがたくさんあるのではなく、正しい分類の割合3 /各グループの変数をコピー&ペーストする必要がないので、グループ1,2,3のx変数のサンプル& 4.

もう一度ありがとう。

DEFINE !sample(myvar !TOKENS(1) 
     /nbsampl !TOKENS(1) 
     /size !CMDEND). 
* myvar = the variable of interest (here we want the mean of salary) 
* nbsampl = number of samples. 
* size = the size of each samples. 

!LET !first='1' 
!DO !ss !IN (!size) 
!DO !count = 1 !TO !nbsampl. 

GET FILE='c:\Program Files\SPSS\employee data.sav'. 

COMPUTE draw=uniform(1). 
SORT CASES BY draw. 
N OF CASES !ss. 

COMPUTE samplenb=!count. 
COMPUTE ss=!ss. 

AGGREGATE 
    /OUTFILE=* 
    /BREAK=samplenb 
    /!myvar = MEAN(!myvar) /ss=FIRST(ss). 

!IF (!first !NE '1') !THEN 
ADD FILES /FILE=* /FILE='c:\temp\sample.sav'. 
!IFEND 
SAVE OUTFILE='c:\temp\sample.sav'. 
!LET !first='0' 

!DOEND. 
!DOEND. 

VARIABLE LABEL ss 'Sample size'. 
EXAMINE 
    VARIABLES=salary BY ss /PLOT=BOXPLOT/STATISTICS=NONE/NOTOTAL 
    /MISSING=REPORT. 

!ENDDEFINE. 
* ----------------END OF MACRO ----------------------------------------------. 


* Call macro (parameters are number of samples (here 20) and sizes of sample (here 5, 10,15,30,50). 
* Thus 20 samples of size 5. 
* Thus 20 samples of size 10, etc. 
!sample myvar=salary nbsampl=20 size= 5 10 15 30 50. 
+0

私は具体的な例を挙げる時間がありませんが、ヘルプセクションで 'OMS'を調べると、新しいファイル(新しい.savデータセットを含む)に出力を保存する例が示されます。基本的に出力に入るものは、新しいSPSSデータセットに保存できます。 –

関連する問題