Sto eseguendo un'analisi della varianza e ho bisogno di esaminare le stime di varianza imparziali per un numero di sottogruppi che sto osservando.Posso calcolarli manualmente usando una tabella d2 che ho, ma speravo che ci fosse un modo per inserirlo in una formula.So che può essere derivato dalla distribuzione Chi-quadrato, ma non ho i calcoli per farlo.
Qualsiasi aiuto su un modo diretto per estrarre d2 o la matematica dietro la creazione manuale sarebbe utile.
Grazie
Eva Morris
Ho notato nella versione JMP15 che la costante della carta di controllo/costante imparziale/costante di regolazione della polarizzazione verrà ora calcolata per campioni di dimensioni fino a 50. Ero curioso di vedere se JMP avesse qualche script in Sample Data, Teaching Scripts o altro. Qualcuno sa se JMP così com'è può creare questa tabella? Ho costruito sulla funzione di Ian e ho creato il seguente script per creare la tabella per insegnare le classi SPC. La tabella è a 5 cifre decimali, chiunque può usare Col > Standardizza attributi per modificare il formato in 3 o 4. Anche nella documentazione del software SAS ci sono funzioni per d2, d3 e c4. Forse aggiungere la possibilità di creare script o aggiungere la tabella in JMP16?
// from post by ian_jmp to question on
// "Accessing Control Chart constants/unbiasing constants"
// add the complete table up to 25
Names Default To Here( 1 );
calculateD2 = Function( {n},
{Default Local},
d2 = Round( Integrate( 1 - Power( 1 - Normal Distribution( x ), n ) - Power( Normal Distribution( x ), n ), x, ., . ), 5 )
);
calculateD3 = Function( {n, d2},
{Default Local},
d3 = Round(
sqrt(
2 * (Integrate(
Integrate(
1 - Power(Normal Distribution(y),n) - Power( 1 - Normal Distribution(x),n) + Power( (Normal Distribution(y) - Normal Distribution(x)), n )
, x, ., y)
, y, ., . )) - d2^2
)
, 5 )
);
calculateC4 = Function( {n},
{Default Local},
c4 = Round( gamma(n/2) * sqrt(2/(n-1)) / gamma((n-1)/2), 5 )
);
// create table following example tables showing x-bar constants first (A2, A3)
// then d2 sigma estimate, then the R chart and S chart constants
dt = New Table("Table of Control Chart Constants",
Add Rows(24),
New Column("Sample size", Numeric, Continuous),
New Column("A2", Numeric, Continuous, Format( "Fixed Dec", 8, 5 )),
New Column("A3", Numeric, Continuous, Format( "Fixed Dec", 8, 5 )),
New Column("d2", Numeric, Continuous, Format( "Fixed Dec", 8, 5 )),
New Column("d3", Numeric, Continuous, Format( "Fixed Dec", 8, 5 )),
New Column("D3", Numeric, Continuous, Format( "Fixed Dec", 8, 5 )),
New Column("D4", Numeric, Continuous, Format( "Fixed Dec", 8, 5 )),
New Column("c4", Numeric, Continuous, Format( "Fixed Dec", 8, 5 )),
New Column("B3", Numeric, Continuous, Format( "Fixed Dec", 8, 5 )),
New Column("B4", Numeric, Continuous, Format( "Fixed Dec", 8, 5 )),
); Wait(0);
For( n = 2, n <= 25, n++,
Column(dt,"Sample size")[n-1] = n;
Column(dt,"d2")[n-1] = d2 = calculateD2( n ); Wait(0);
Column(dt,"d3")[n-1] = d3 = calculateD3( n, d2 ); Wait(0);
D3temp = 1 - 3*d3/d2;
If(D3temp > 0,
Column(dt,"D3")[n-1] = D3temp,
Column(dt,"D3")[n-1] = 0 // for negative values
);
Column(dt,"D4")[n-1] = 1 + 3*d3/d2;
Column(dt,"A2")[n-1] = 3/(d2*sqrt(n));
Column(dt,"c4")[n-1] = c4 = calculateC4( n ); Wait(0);
Column(dt,"A3")[n-1] = 3/c4/sqrt(n);
B3temp = 1 - 3 * sqrt(1/c4^2 - 1);
If(B3temp > 0,
Column(dt,"B3")[n-1] = B3temp,
Column(dt,"B3")[n-1] = 0
);
Column(dt,"B4")[n-1] = 1 + 3 * sqrt(1/c4^2 - 1);
);
Non vedevo quella cosa d2 da un po'!
// https://v8doc.sas.com/sashtml/qc/chapc/sect9.htm
NamesDefaultToHere(1);
calculateD2 =
Function({n}, {Default Local},
d2 = Round(Integrate(1 - Power(1 - NormalDistribution(x), n) - Power(NormalDistribution(x), n), x, ., .), 5);
);
for(n=2, n<=25, n++, Print(n, calculateD2(n)));In realtà, vorrei aggiornare un po 'la mia domanda.Il valore riportato nella sezione delle componenti della varianza dell'indicatore di variabilità è imparziale?Potrebbe essere sufficiente per il mio lavoro (anche se preferirei comunque l'accesso alle costanti)
No, sto cercando la stima imparziale della deviazione standard della popolazione (sigma-hat), che può essere calcolata dalla deviazione standard del campione del sottogruppo (s) e una costante imparziale (o d2 o c4 a seconda delle dimensioni del campione e di come io li sto usando).
Quindi diciamo che ho 30 sottogruppi della stessa dimensione (n=4).Posso calcolare la barra S calcolando la media della deviazione standard all'interno del sottogruppo.Posso quindi dividere la s-bar per c4 e determinare la stima imparziale della deviazione standard della popolazione.
Il mio problema è che ho diverse dimensioni di sottogruppi, quindi non posso cercarlo una volta e inserirlo nella tabella.Sono anche un po 'squirely se ho bisogno o meno di d2 o c4 (ma questo è il mio problema, lo risolverò).
Ad ogni modo, speravo solo che quei parametri fossero facilmente estraibili da una funzione in JSL, sono piuttosto comuni nei grafici di controllo/lavoro SQC.
Stai cercando la varianza di un sottogruppo?
https://en.wikipedia.org/wiki/Variance#Sample_variance
Quello sarà il quadrato della deviazione standard delle colonne che le formule sono (Col Std Dev( col, by1, by2, ...))^2
Esegui lo script qui sotto.Puoi anche trovarlo usando Tabella> Riepilogo.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << New Column( "Standard Variance for Each Age and Sex Group",
Formula( (Col Std Dev( :height, :age, :sex ))^2 )
);