Hi
Wie berechnet JMP eine gewichtete Standardabweichung (wenn eine Variable auf der Registerkarte „Gewichtung“ in der Verteilungsplattform ausgewählt wird?
Vielen Dank
Fanie
Es geht nicht um Unwissenheit. Es gibt mindestens vier Definitionen der Gewichtsstandardabweichung oder -varianz. Die Definitionen unterscheiden sich nur im verwendeten Nenner. Das heißt, dass der gewichtete Mittelwert und die gewichtete Summe der Quadrate in allen Definitionen gleich sind. JMP implementiert nur eine der vier Definitionen. Andere Software könnte diese Definition oder eine der anderen implementieren.
Hallo Mark,
Ich ertrinke in meiner eigenen Ignoranz...
Ich habe den gewichteten Mittelwert eines Datensatzes in Excel berechnet und mit JMP verglichen. Die Ergebnisse stimmten nicht überein.
Die Formel, die ich verwendet habe, lautet:

Dies stimmt mit dem Code überein, außer:
var = ss / (N Row( y )-1); // weighted variance, unbiased
sollte sein:
var = ss / ((N Row( y )-1/N Row(y))*n; // weighted variance, unbiased
Ich verstehe das offensichtlich nicht.
Vielen Dank
Fanie
Warum gehen Sie davon aus, dass Sie es nicht verwenden sollten?
Hallo Mark,
Vielen Dank, ich weiß Ihren Beitrag zu schätzen.
Ich gehe also davon aus, dass die Standardabweichung, die in der Verteilungsplattform gedruckt wird, wenn eine Gewichtsspalteneigenschaft festgelegt wurde, nicht verwendet werden sollte?
Die Berechnung ist hier beschrieben: gewichtetes arithmetisches Mittel . Verwenden Sie diese Formeln, um die Mengen in den Ergebnissen zu verstehen.

Verwenden Sie das Skript, um die Berechnungsschritte zu veranschaulichen. Öffnen Sie das Protokoll, bevor Sie die Skripts ausführen.
Names Default to Here( 1 );
// open examle
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << New Column( "Row Weight", Numeric, Continuous,
Values(
[0.466037725564092, 3.88878780649975, 2.4091640743427, 2.11785415420309,
4.79403748759069, 2.30050488375127, 1.58066931064241, 3.18035316769965,
1.57862229505554, 0.304837201256305, 3.91091752331704, 2.63118736562319,
3.27893625595607, 3.02616479573771, 1.75871466752142, 1.95901472005062,
1.4666282152757, 2.11275573237799, 2.02008433057927, 4.89492299617268,
0.493469994980842, 4.89886545110494, 2.22502982476726, 4.72375275800005,
0.830245516262948, 1.67820788919926, 3.44848407898098, 4.0259948768653,
3.2834971731063, 4.52901363372803, 3.88477634754963, 4.72076337435283,
4.64333190233447, 3.1073961337097, 0.579181439243257, 2.74820194579661,
0.191317443968728, 2.94498334173113, 2.51307534286752, 1.23225981369615]
)
);
// launch distribution analysis
biv = dt << Distribution(
Weight( :row weight ),
Continuous Distribution(
Column( :height ),
Customize Summary Statistics(
Sum Wgt( 1 ),
Variance( 1 ),
Corrected SS( 1 ),
Set Alpha Level( 0.05 )
)
),
SendToReport(
Dispatch( {}, "height", OutlineBox, {Set Title( "weighted height" )} )
)
);
// compute weight standard deviation and show intermediate results
y = :height << Get As Matrix; // data
w = :row weight << Get As Matrix; // weights
n = Sum( w ); // sum of weights
wYBar = (w`*y / n)[1]; // weighted average
ss = (w`*(y-wYBar)^2)[1]; // corrected weighted sum of squares
var = ss / (N Row( y )-1); // weighted variance, unbiased
s = Sqrt( var ); // weighted standard deviation
Show( wYbar, s, ss, var ); // view all results in Log