Ciao
In che modo JMP calcola una deviazione standard ponderata (quando una variabile è selezionata nella scheda di ponderazione nella piattaforma di distribuzione?
Grazie
Fania
Non è questione di ignoranza. Esistono almeno quattro definizioni di deviazione standard o varianza del peso. Le definizioni differiscono solo per il denominatore utilizzato. Vale a dire che la media ponderata e la somma dei quadrati dei pesi sono le stesse in tutte le definizioni. JMP implementa solo una delle quattro definizioni. Altri software potrebbero implementare questa definizione o una delle altre.
Ciao Mark,
sto affogando nella mia stessa ignoranza...
Ho calcolato la media ponderata di un set di dati in Excel e l'ho confrontata con JMP. I risultati non corrispondevano.
La formula che ho utilizzato è:

Questo è d'accordo con il codice tranne:
var = ss / (N Row( y )-1); // weighted variance, unbiased
dovrebbe essere:
var = ss / ((N Row( y )-1/N Row(y))*n; // weighted variance, unbiased
Chiaramente questo non lo capisco.
Grazie
Fania
Perché dai per scontato che non dovresti usarlo?
Ciao Mark,
Grazie, apprezzo il tuo contributo.
Quindi, suppongo che la deviazione standard stampata nella piattaforma di distribuzione quando è stata impostata una proprietà della colonna del peso non debba essere utilizzata?
Il calcolo è descritto qui: media aritmetica pesata . Utilizzare queste formule per comprendere le quantità nei risultati.

Utilizzare lo script per illustrare i passaggi di calcolo. Aprire il registro prima di eseguire gli script.
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