simulación de rebrote de monte carlo para desviación media y estándar jmp 14Tengo problemas para depurar la parte en el remuestreo. La ayuda sería apreciada.
dt=Tabla de datos actual();
n=N Fila(dt);
nSim=1000;
dtMC=Nueva tabla ("MC", Nueva columna ("Sim", Numérico, "Continuo"), Nueva columna ("Media", Numérico, "Continuo"), Nueva columna ("Desv estándar", Numérico, "Continuo" );
Para(i=1, i<=nSim, i++,
dtRemuestreo=dt< dtMC< dtMC:Sim[i]=i;
dtMC:Media[i]=Media(dtRemuestreo:X)
dtMC:Desv estándar[i]= Desv estándar(dtRemuestreo:X);
);
dtMC< Tamaño (400, 300),
Variables (X(:Sim), Y(:Media)),
Elementos(Puntos(X,Y))
);
Modelado Estadístico AvanzadoRe: simulación de resapling de monte carlo para desviación media y estándar jmp 14Es difícil para mí diagnosticar el error en su secuencia de comandos. Tal vez otro miembro pueda ayudar con ese problema. Lo usaré como una oportunidad para mostrarle una forma alternativa. Si estaba remuestreando de forma interactiva usando los comandos de la tabla de datos, su forma tiene mucho sentido. En su lugar, puede utilizar operaciones matriciales en un 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>
Re: simulación de resapling de monte carlo para desviación media y estándar jmp 14esto definitivamente ayudó. una pregunta. ¿Cómo funciona el "aleatorio número entero "funciona la función? ¿Existen diferentes técnicas para el remuestreo? ¿Quizás más control sobre cómo se realiza el remuestreo? gracias de nuevo 
Re: simulación de resapling de monte carlo para desviación media y estándar jmp 14La función Random Integer() devuelve un número entero sobre un rango de valores con igual probabilidad (función de distribución uniforme).

Es el tercer argumento en la llamada a la función J(). Se evalúa por filas durante la creación de la matriz que, a su vez, se proporciona como subíndices de la matriz de datos original. Este uso es equivalente al muestreo con reemplazo, que es lo que desea para las estadísticas de muestra remuestreadas.
Re: simulación de resapling de monte carlo para desviación media y estándar jmp 14Parece que reemplazará una fila en cada simulación. ¿Es posible generar valores enteros aleatorios en varias filas?
Re: simulación de resapling de monte carlo para desviación media y estándar jmp 14No entiendo tu suposición (" Parece que reemplazará una fila en cada simulación. ") o su pregunta (" ¿Es posible generar valores enteros aleatorios en varias filas? "). El script es correcto para las estadísticas de remuestreo. Estoy usando una solución vectorizada que quizás no le resulte familiar. Una versión modificada del guión incluye la distribución de las estimaciones remuestreadas de la media y la estimación original utilizando la plataforma de distribución.
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>
¿Estás intentando algo más? Explique su última respuesta con más detalle.
Re: simulación de resapling de monte carlo para desviación media y estándar jmp 14Disculpas por la confusión. En el primer script, ¿cómo extraigo X de cada iteración en una tabla para tener todos los valores simulados en 1000 iteraciones? De nuevo, gracias por tu ayuda
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: simulación de resapling de monte carlo para desviación media y estándar jmp 14Este script produce dos tablas de datos: una tabla con los datos remuestreados y otra con las estadísticas remuestreadas.
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: simulación de resapling de monte carlo para desviación media y estándar jmp 14Gracias. Una pregunta. Si tengo un conjunto de datos [1 2 3 5 8 9 7] y quiero seguir la lógica anterior y hacer 2 iteraciones, ¿creará
2 conjuntos seleccionando al azar números del conjunto de datos reemplazando cada ubicación? Por ejemplo:
[3 2 1 5 8 7 7]
[9 1 3 5 2 8 6]
Si esto es realmente aleatorio, ¿no significa que cada vez que se ejecute obtendremos diferentes conjuntos de datos?