Hallo
Wie berechnet JMP eine gewichtete Standardabweichung (wenn eine Variable auf der Registerkarte „Gewichtung“ in der Vertriebsplattform ausgewählt wird)?
Danke
Fanie
Es ist keine Frage der Unwissenheit. Es gibt mindestens vier Definitionen der Gewichtsstandardabweichung oder -varianz. Die Definitionen unterscheiden sich lediglich im verwendeten Nenner. Das heißt, dass der gewichtete Mittelwert und die Gewichtsquadratsumme in allen Definitionen gleich sind. JMP implementiert nur eine der vier Definitionen. Andere Software implementiert möglicherweise diese Definition oder eine der anderen.
Hallo Mark,
Ich ertrinke in meiner eigenen Unwissenheit ...
Ich habe den gewichteten Mittelwert eines Datensatzes in Excel berechnet und ihn mit JMP verglichen. Die Ergebnisse stimmten nicht überein.
Die Formel, die ich verwendet habe, ist:

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
Offensichtlich verstehe ich das nicht.
Danke
Fanie
Warum gehen Sie davon aus, dass Sie es nicht verwenden sollten?
Hallo Mark,
Vielen Dank, ich schätze Ihren Beitrag sehr.
Ich gehe also davon aus, dass die in der Verteilungsplattform gedruckte Standardabweichung, wenn eine Gewichtsspalteneigenschaft festgelegt wurde, nicht verwendet werden sollte?
Die Berechnung wird 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 Skripte 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