Salut
Comment JMP calcule-t-il un écart type pondéré (lorsqu'une variable est sélectionnée dans l'onglet de pondération de la plate-forme de distribution ?
Merci
Fanie
Ce n'est pas une question d'ignorance. Il existe au moins quatre définitions de l'écart type ou de la variance du poids. Les définitions ne diffèrent que par le dénominateur utilisé. C'est-à-dire que la moyenne pondérée et la somme pondérée des carrés sont les mêmes dans toutes les définitions. JMP ne met en œuvre qu'une seule des quatre définitions. D'autres logiciels peuvent implémenter cette définition ou l'une des autres.
Salut Mark,
Je me noie dans ma propre ignorance...
J'ai calculé la moyenne pondérée d'un ensemble de données dans Excel et l'ai comparé à JMP. Les résultats ne correspondaient pas.
La formule que j'ai utilisée est :

Ceci est conforme au code sauf:
var = ss / (N Row( y )-1); // weighted variance, unbiased
devrait être:
var = ss / ((N Row( y )-1/N Row(y))*n; // weighted variance, unbiased
Clairement, je ne comprends pas cela.
Merci
Fanie
Pourquoi pensez-vous que vous ne devriez pas l'utiliser?
Salut Mark,
Merci, j'apprécie votre contribution.
Donc, je suppose que l'écart type imprimé dans la plate-forme de distribution lorsqu'une propriété de colonne de poids a été définie ne doit pas être utilisé ?
Le calcul est décrit ici : moyenne arithmétique pondérée . Utilisez ces formules pour comprendre les quantités dans les résultats.

Utilisez le script pour illustrer les étapes de calcul. Ouvrez le journal avant d'exécuter les scripts.
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