simulazione resapling monte carlo per media e std dev jmp 14Ho problemi a eseguire il debug della parte sul ricampionamento. L'aiuto sarebbe apprezzato.
dt=Tabella dati correnti();
n=N Riga(dt);
nSim=1000;
dtMC=Nuova tabella("MC", Nuova colonna ("Sim", Numerico, "Continuo"), Nuova colonna ("Mean", Numerico, "Continuo"), Nuova colonna ("Std Dev", Numerico, "Continuo" );
For(i=1, i<=nSim, i++,
dtResample=dt< dtMC< dtMC:Sim[i]=i;
dtMC:Media[i]=Media(dtRicampionamento:X)
dtMC:Std Dev[i]= Std Dev(dtResample:X);
);
dtMC< Taglia (400, 300),
Variabili (X(:Sim), Y(:Mean)),
Elementi(Punti(X,Y))
);
Modellazione statistica avanzataRi: simulazione di resapling monte carlo per dev medio e std jmp 14È difficile per me diagnosticare l'errore nel tuo script. Forse un altro membro può aiutare con quel problema. Lo userò come un'opportunità per mostrarti un modo alternativo. Se stavi ricampionando in modo interattivo utilizzando i comandi della tabella dati, il tuo modo ha perfettamente senso. È invece possibile utilizzare le operazioni con le matrici in uno script.
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>
Ri: simulazione di resapling monte carlo per dev medio e std jmp 14questo ha sicuramente aiutato. una domanda. Come funziona il file "casuale intero " funzione funziona? Esistono diverse tecniche per il ricampionamento? Forse un maggiore controllo su come viene eseguito il ricampionamento? grazie ancora 
Ri: simulazione di resapling monte carlo per dev medio e std jmp 14La funzione Random Integer() restituisce un numero intero su un intervallo di valori con uguale probabilità (funzione di distribuzione uniforme).

È il terzo argomento nella chiamata alla funzione J(). Viene valutato per riga durante la creazione della matrice che, a sua volta, viene fornita come pedice alla matrice di dati originale. Questo utilizzo è equivalente al campionamento con sostituzione, che è ciò che si desidera per le statistiche campione ricampionate.
Ri: simulazione di resapling monte carlo per dev medio e std jmp 14Sembra che sostituirà una riga in ogni simulazione. È possibile generare valori interi casuali in più righe?
Oggetto: simulazione di resapling monte carlo per dev medio e std jmp 14Non capisco la tua supposizione (" Sembra che sostituirà una riga in ogni simulazione. ") o la tua domanda (" È possibile generare valori interi casuali in più righe? "). Lo script è corretto per il ricampionamento delle statistiche. Sto usando una soluzione vettorializzata che potrebbe non esserti familiare. Una versione modificata dello script include la distribuzione delle stime ricampionate della media e della stima originale utilizzando la piattaforma di distribuzione.
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>
Stai tentando qualcos'altro? Spiega più dettagliatamente la tua ultima risposta.
Ri: simulazione di resapling monte carlo per dev medio e std jmp 14Ci scusiamo per la confusione. Nel primo script, come estraggo X da ogni iterazione in una tabella in modo da avere tutti i valori simulati in 1000 iterazioni? Grazie ancora per il vostro aiuto
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>
Ri: simulazione di resapling monte carlo per dev medio e std jmp 14Questo script produce due tabelle di dati: una tabella con i dati ricampionati e un'altra con le statistiche ricampionate.
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 );Ri: simulazione di resapling monte carlo per dev medio e std jmp 14Grazie. Una domanda. Se ho un set di dati [1 2 3 5 8 9 7] e voglio seguire la logica di cui sopra e fare 2 iterazioni, creerà
2 set selezionando casualmente i numeri dal set di dati sostituendo ogni posizione ? Per esempio:
[3 2 1 5 8 7 7]
[9 1 3 5 2 8 6]
Se questo è veramente casuale, non significa che ogni volta che viene eseguito otterremo set di dati diversi?