Ich führe eine Varianzanalyse durch und muss mir die unverzerrten Varianzschätzungen für eine Reihe von Untergruppen ansehen, die ich betrachte.Ich kann sie mithilfe einer d2-Tabelle, die ich habe, manuell berechnen, aber ich hatte gehofft, dass es eine Möglichkeit gibt, das in eine Formel umzuwandeln.Ich weiß, dass es aus der Chi-Quadrat-Verteilung abgeleitet werden kann, aber mir fehlt die Mathematik dafür.
Jede Hilfe zu einem direkten Weg zum Extrahieren von d2 oder zur Mathematik hinter der manuellen Erstellung wäre hilfreich.
Danke
Evan Morris
Mir ist in der JMP15-Version aufgefallen, dass die Kontrolldiagrammkonstante/Erwartungstreukonstante/Bias-Anpassungskonstante jetzt für Stichprobengrößen bis zu 50 berechnet wird. Ich war neugierig, ob JMP ein Skript unter „Beispieldaten“, „Lehrskripte“ oder „Anderes“ hat. Weiß jemand, ob JMP in seiner jetzigen Form diese Tabelle erstellen kann? Ich habe auf Ians Funktion aufgebaut und das folgende Skript zum Erstellen der Tabelle für den Unterricht in SPC-Klassen erstellt. Die Tabelle besteht aus 5 Dezimalstellen. Jeder kann das Format über „Col“ > „Attribute standardisieren“ auf 3 oder 4 ändern. Auch in der SAS-Softwaredokumentation gibt es Funktionen für d2, d3 und c4. Vielleicht die Möglichkeit zum Skripten hinzufügen oder die Tabelle in JMP16 hinzufügen?
// 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);
);
Das ist genau das, was ich brauche, danke.
Habe das D2-Ding schon eine Weile nicht mehr gesehen!
// 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)));Eigentlich möchte ich meine Frage etwas aktualisieren.Ist der im Abschnitt „Varianzkomponenten“ des Variabilitätsmessers angegebene Wert unvoreingenommen?Das könnte für meine Arbeit ausreichend sein (obwohl ich immer noch den Zugriff auf die Konstanten bevorzugen würde)
Nein, ich suche nach der erwartungstreuen Schätzung der Populationsstandardabweichung (Sigma-Hat), die aus der (den) Standardabweichung(en) der Untergruppenstichprobe und einer erwartungstreuen Konstante (entweder d2 oder c4, je nach Stichprobengröße und Art und Weise) berechnet werden kann Ich benutze sie).
Nehmen wir also an, ich habe 30 Untergruppen gleicher Größe (n=4).Ich kann den S-Balken berechnen, indem ich die Standardabweichung innerhalb der Untergruppe mittel.Dann kann ich den S-Balken durch c4 dividieren und die unverzerrte Schätzung der Standardabweichung der Grundgesamtheit ermitteln.
Mein Problem ist, dass ich unterschiedliche Untergruppengrößen habe, sodass ich es nicht einfach einmal nachschlagen und in die Tabelle einfügen kann.Ich bin mir auch etwas unsicher, ob ich d2 oder c4 brauche (aber das ist mein Problem, ich werde es regeln).
Wie auch immer, ich hatte nur gehofft, dass diese Parameter durch eine Funktion in JSL leicht extrahiert werden könnten, sie kommen bei der Arbeit mit Kontrolldiagrammen/SQC ziemlich häufig vor.
Suchen Sie nach der Varianz einer Untergruppe?
https://en.wikipedia.org/wiki/Variance#Sample_variance
Das ist das Quadrat der Spaltenstandardabweichung der Formeln: (Col Std Dev( col, by1, by2, ...))^2
Führen Sie das folgende Skript aus.Sie können dies auch über Tabelle > Zusammenfassung finden.
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 )
);