CIAO
In che modo JMP calcola una deviazione standard ponderata (quando una variabile viene selezionata nella scheda di ponderazione nella piattaforma di distribuzione?
Grazie
Fanie
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 pesata e la somma ponderata dei quadrati 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 annegando 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 usato è:

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 non lo capisco.
Grazie
Fanie
Perché pensi che non dovresti usarlo?
Ciao Mark,
Grazie, apprezzo il tuo contributo.
Quindi, presumo 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 ponderata . Utilizzare queste formule per comprendere le quantità nei risultati.

Usa 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