평균 및 표준 편차 jmp 14에 대한 몬테카를로 재배치 시뮬레이션리샘플링 부분을 디버깅하는 데 문제가 있습니다. 도움을 주시면 감사하겠습니다.
dt=현재 데이터 테이블();
n=N행(dt);
nSim=1000;
dtMC=새 테이블("MC", 새 열("Sim", 숫자, "연속"), 새 열("평균", 숫자, "연속"), 새 열("표준 편차", 숫자, "연속") );
For(i=1, i<=nSim, i++,
dtResample=dt< dtMC<<행 추가(1);
dtMC:Sim[i]=i;
dtMC:평균[i]=평균(dtResample:X)
dtMC:표준 편차[i]= 표준 편차(dtResample:X);
);
dtMC<<그래프 빌더(
사이즈(400, 300),
변수(X(:심), Y(:평균)),
요소(점(X,Y))
);
고급 통계 모델링Re: 평균 및 표준 편차 jmp 14에 대한 몬테카를로 재채기 시뮬레이션스크립트의 오류를 진단하기가 어렵습니다. 아마도 다른 회원이 그 문제를 도울 수 있을 것입니다. 다른 방법을 알려드리는 기회로 삼겠습니다. 데이터 테이블 명령을 사용하여 대화식으로 리샘플링한 경우 방법이 완벽합니다. 대신 스크립트에서 행렬 연산을 사용할 수 있습니다.
Names Default To Here( 1 );
// example
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
// dt=Current Data Table();
// original data as a vector
data = dt:weight << Get As Matrix;
n = N Row( data );
nSim = 1000;
// matrix of simulation results
sim = J( nSim, 3, . );
// resample statistics
For( i = 1, i <= nSim, i++,
X = data[J( n, 1, Random Integer( 1, n ) )];
sim[i, 1] = i;
sim[i, 2] = Mean( X );
sim[i, 3] = Std Dev( X );
);
// make data tabel from matrix
dtMC = As Table( sim, <<COLUMN names=""></COLUMN>
Re: 평균 및 표준 편차 jmp 14에 대한 몬테카를로 재채기 시뮬레이션이것은 확실히 도움이되었습니다. 하나의 질문. 어떻게 "무작위 정수 " 함수가 작동합니까? 리샘플링을 위한 다른 기술이 있습니까? 리샘플링이 수행되는 방법에 대한 더 많은 제어가 가능합니까? 다시 한 번 감사드립니다 
Re: 평균 및 표준 편차 jmp 14에 대한 몬테카를로 재채기 시뮬레이션Random Integer() 함수는 동일한 확률로 값 범위에 대해 정수를 반환합니다(균일 분포 함수).

J() 함수 호출의 세 번째 인수입니다. 행렬을 만드는 동안 행 방향으로 평가되며 원래 데이터 행렬에 첨자로 제공됩니다. 이 사용은 재샘플링된 샘플 통계에 대해 원하는 대체 샘플링과 동일합니다.
Re: 평균 및 표준 편차 jmp 14에 대한 몬테카를로 재채기 시뮬레이션각 시뮬레이션에서 하나의 행을 대체하는 것처럼 보입니다. 여러 행에서 임의의 정수 값을 생성할 수 있습니까?
Re: 평균 및 표준 편차 jmp 14에 대한 몬테카를로 재채기 시뮬레이션나는 당신의 가정을 이해하지 못합니다 (" 각 시뮬레이션에서 하나의 행을 대체하는 것처럼 보입니다. ") 또는 귀하의 질문(" 여러 행에서 임의의 정수 값을 생성할 수 있습니까? "). 스크립트는 리샘플링 통계에 적합합니다. 저는 여러분에게 생소할 수 있는 벡터화된 솔루션을 사용하고 있습니다. 수정된 버전의 스크립트에는 분포 플랫폼을 사용하여 평균 및 원래 추정치의 재표본 추정치 분포가 포함됩니다.
Names Default To Here( 1 );
// example
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
// dt=Current Data Table();
// original data as a vector
data = dt:weight << Get As Matrix;
sampleMean = Col Mean( dt:weight );
n = N Row( data );
nSim = 1000;
// matrix of simulation results
sim = J( nSim, 3, . );
// resample statistics
For( i = 1, i <= nSim, i++,
X = data[J( n, 1, Random Integer( 1, n ) )];
sim[i, 1] = i;
sim[i, 2] = Mean( X );
sim[i, 3] = Std Dev( X );
);
// make data tabel from matrix
dtMC = As Table( sim, <<COLUMN names=""></COLUMN>
다른 것을 시도하고 있습니까? 마지막 회신에 대해 자세히 설명해 주십시오.
Re: 평균 및 표준 편차 jmp 14에 대한 몬테카를로 재채기 시뮬레이션혼란을 드려 죄송합니다. 첫 번째 스크립트에서 1000회 반복에서 모든 값을 시뮬레이션할 수 있도록 각 반복에서 X를 테이블로 추출하려면 어떻게 해야 합니까? 도움을 주셔서 다시 한 번 감사드립니다.
Names Default To Here( 1 );
// example
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
// dt=Current Data Table();
// original data as a vector
data = dt:weight << Get As Matrix;
n = N Row( data );
nSim = 1000;
// matrix of simulation results
sim = J( nSim, 3, . );
// resample statistics
For( i = 1, i <= nSim, i++,
X = data[J( n, 1, Random Integer( 1, n ) )];
sim[i, 1] = i;
sim[i, 2] = Mean( X );
sim[i, 3] = Std Dev( X );
);
// make data tabel from matrix
dtMC = As Table( sim, <<COLUMN names=""></COLUMN>
Re: 평균 및 표준 편차 jmp 14에 대한 몬테카를로 재채기 시뮬레이션이 스크립트는 두 개의 데이터 테이블을 생성합니다. 하나는 리샘플링된 데이터가 있는 테이블이고 다른 하나는 리샘플링된 통계가 있는 테이블입니다.
Names Default To Here( 1 );
// example
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
// dt=Current Data Table();
// original data as a vector
data = dt:weight << Get As Matrix;
sampleMean = Col Mean( dt:weight );
sampleSD = Col Std Dev( dt:weight );
n = N Row( data );
nSim = 1000;
// matrix of simulation data
simData = [];
// resample data
For( i = 1, i <= nSim, i++,
X = data[J( n, 1, Random Integer( 1, n ) )];
simData ||= X;
);
// make table of resampled data
colNames = List();
For( i = 1, i <= nSim, i++, Insert Into( colNames, Eval( "Sample " || Char( i ) ) ) );
dtSimData = As Table( simData, << Column Names( colNames ) );
// matrix of simulation results
simStat = J( nSim, 3, . );
// resample statistics
For( i = 1, i <= nSim, i++,
simStat[i, 1] = i;
simStat[i, 2] = Mean( simData[0,i] );
simStat[i, 3] = Std Dev( simData[0,i] );
);
// make data table from matrix
dtMC = As Table( simStat, << Column Names( {"Simulation", "Mean", "Std Dev"} ) );
// plot resampled statistics
dtMC << Graph Builder(
Size( 534, 456 ),
Show Control Panel( 0 ),
Show Legend( 0 ),
Variables( X( :Simulation ), Y( :Mean ), Y( :Std Dev ) ),
Elements( Position( 1, 1 ), Points( X, Y, Legend( 3 ) ) ),
Elements( Position( 1, 2 ), Points( X, Y, Legend( 4 ) ) )
);
obj = dtMC << Distribution( Y( :Mean, :Std Dev ) );
rpt = obj << Report;
rpt[AxisBox(1)] << Add Ref Line( sampleMean, "Solid", "Red", "Sample Mean", 1, 0 );
rpt[AxisBox(2)] << Add Ref Line( sampleSD, "Solid", "Red", "Sample Std Dev", 1, 0 );Re: 평균 및 표준 편차 jmp 14에 대한 몬테카를로 재채기 시뮬레이션감사해요. 질문. 데이터 세트 [1 2 3 5 8 9 7]가 있고 위의 논리를 따르고 2번 반복하려는 경우
각 위치를 교체하여 데이터 세트에서 무작위로 숫자를 선택하여 2세트 ? 예를 들어:
[3 2 1 5 8 7 7]
[9 1 3 5 2 8 6]
이것이 정말로 임의적이라면 실행될 때마다 다른 데이터 세트를 얻게 된다는 의미가 아닙니까?