Non sei sicuro di come utilizzare "Peso" in "Analizza"Voglio fare qualcosa di veramente semplice. Per semplicità, supponiamo di avere due gruppi, diciamo con N=2.000 nel gruppo 1 e N=3.000 nel gruppo 2. Vorrei calcolare una media complessiva di una variabile Y raccolta per ciascun gruppo. La media di Y nel gruppo 1 è 4 e nel gruppo 2 è 8. La media complessiva qui sarebbe la media non ponderata e non la media ponderata: dovrebbe essere 6. Avrei potuto pensare di inserire i seguenti valori per "Peso":
Gruppo 1: 5.000/2.000
Gruppo 2: 5.000/3.000
Ma questi non producono il numero atteso. Potete aiutarmi a comprendere l'opzione "Peso" in Analizza:JMP e dirmi quali pesi devo utilizzare per il mio problema?
Modellazione statistica avanzataRicerche sui consumatori e sul mercatoCombinazione e pulizia dei datiRi: Non so come utilizzare "Peso" in "Analizza"
@hogi ha scritto:
Seguendo il primo link ho trovato:

Ma per Freq in Costruttore di grafici , i valori dovere essere intero - altrimenti vengono ignorati:
[conta < 10, anche se Freq ~ 100]

Names Default to Here(1);
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
New Column( "freq", set each value( 100.5 ));
Graph Builder(
Variables( X( :sex ), Y( :age ), Frequency( :freq ) ),
Elements( Heatmap( X, Y, Legend( 5 ), Label( "Label by Value" ) ) )
)
Ri: Non so come utilizzare "Peso" in "Analizza"Ho trovato questa discussione dopo alcune sorprese con Tables/Summary.
Abbiamo iniziato utilizzando il peso in Tabelle/Riepilogo seguendo l'idea:

e ho scoperto che Mediana è uno dei casi più semplici per spiegare la differenza tra Freq E Peso 
Restituisce sempre il valore "centrale", indipendentemente dalla ponderazione. Quindi, usare il Peso non funziona.
La "soluzione alternativa":
Se l'utente lo desidera peso valori diversi in modo diverso in un calcolo mediano, deve utilizzare Freq , cioè indica[] alla procedura che ci sono più osservazioni che righe nel set di dati.[ La differenza tra frequenze e pesi nell'analisi di regressione ]
Tutto ciò ha sicuramente senso
ma comunque: sorprendente quando lo vedi la prima volta.
e: pericoloso - se non lo vedi 

dt = New Table( "test",
Add Rows( 120 ),
Compress File When Saved( 1 ),
New Column( "X_Value",
Formula( Row() )
),
New Column( "counts",
Formula( spectris:Gaussian( :X_Value, 1, 100, 5 ) ),
Set Selected
)
);
dt << Graph Builder(
Variables( X( :X_Value ), Y( :counts ) ),
Elements(
Points( X, Y, Legend( 3 ) ),
Smoother( X, Y, Legend( 4 ), Lambda( 0.000002 ) )
)
);
dt << Summary(
Mean( :X_Value ),
Median( :X_Value ),
Freq( :counts ),
output table name( "Freq(counts)" )
);
dt << Summary(
Mean( :X_Value ),
Median( :X_Value ),
Weight( :counts ),
output table name( "Weight(counts)" )
);
R: Non so come usare "Peso" in "Analizza"@profjmb : Poiché l'esempio di @Georg è simile al tuo suggerimento di usare pesi inversi per contrastare le diverse N_rows (ha preso i tuoi pesi ridimensionati di 1/2), mi chiedo cosa pensi del tuo ... Ma questi non danno il numero previsto.
Non hai ottenuto lo stesso risultato?
R: Non so come usare "Peso" in "Analizza"E per quanto riguarda il Riassunto:
https://www.jmp.com/support/help/en/17.0/index.shtml#page/jmp/summary-launch-window.shtml#ww272136

ah, OK.
Seguendo il primo link ho trovato:

Quindi, leggermente nascosto, ma sotto la riga:
A differenza della variabile FREQ, i cui valori devono essere numeri interi, i pesi possono essere frazionari.
da La distinzione tra le istruzioni WEIGHT e FREQ (SAS) non vale per Jmp?
Ri: Non so come utilizzare "Peso" in "Analizza"La migliore documentazione per JMP che ho potuto trovare rapidamente è Adattamento di modelli lineari > Specifiche del modello > Avvia la piattaforma Stima modello > Elementi nella finestra di avvio Stima modello .
La distribuzione ha il suo https://www.jmp.com/support/help/en/17.0/#page/jmp/launch-the-distribution-platform.shtml#

così come tabulare https://www.jmp.com/support/help/en/17.0/#page/jmp/launch-the-tabulate-platform.shtml#

R: Non so come usare "Peso" in "Analizza"IL
- A differenza della variabile FREQ, i cui valori devono essere numeri interi , i pesi possono essere frazionari.
La distinzione tra le istruzioni WEIGHT e FREQ non vale per Jmp?
ignorando le frazioni: 6
se funzionano anche le frazioni: 6.4 <- risultato per tutti e 4 i casi

lo stesso vale per Analizza/Distribuisci e Analizza/Tabula...
modificare:
si noti inoltre che N=2, anche se freq > 1000
dt = New Table( "test",
Add Rows( 2 ),
New Column( "variable", Set Values( [4, 8] ) ),
New Column( "N", Set Values( [2000, 3000] ) ),
New Column( "ratio", Formula( :N / Col Sum( :N ) ))
);
dt << Summary( Mean( :variable ), Weight( :N ), output table name( "weight(N)" ) );
dt << Summary( Mean( :variable ), Freq( :N ), output table name( "freq(N)" ) );
dt << Summary( Mean( :variable ), Weight( :ratio ), output table name( "weight(ratio)" ) );
dt << Summary( Mean( :variable ), Freq( :ratio ), output table name( "freq(ratio)" ) );
Ri: Non so come utilizzare "Peso" in "Analizza"Penso di capire cosa vuoi, ma non cosa è necessario. E sono d'accordo con le risposte sopra, quel peso potrebbe non essere il modo corretto.
Se vuoi farlo in modo semplice, utilizzerei l'approccio in 2 fasi, calcolando prima le medie del gruppo e poi calcolando le medie delle medie (ignorando la frequenza).
Ciò significa che vuoi che ciascun gruppo venga ponderato in modo uniforme e la media è 6, vedi il secondo screenshot.
Ma lo standard in JMP è che ogni riga ha lo stesso peso, come già sottolineato da altri. E se hai davvero bisogno di farlo in una "tabella impilata", devi calcolare i pesi in questo modo, affinché il risultato sia quello che desideri, ma questo potrebbe diventare piuttosto complicato e confuso utilizzando più gruppi, quindi non lo consiglio .
Solo per l'illustrazione vedere lo script qui sotto.


Names Default To Here( 1 );
// generate example table
dt = New Table( "test weight",
add rows( 5000 ),
New Column( "group", formula( If( Row() > 2000, "B", "A" ) ) ),
New Column( "value", formula( If( Row() > 2000, Random Normal( 8, 1 ), Random Normal( 4, 1 ) ) ) ),
New Column( "weight", formula( If( Row() > 2000, 5000 / 6000, 5000 / 4000 ) ) ),
New Column( "mean", formula( Col Mean( :value ) ) ),
New Column( "group mean", formula( Col Mean( :value, :group ) ) )
);
dt << add properties to table(
{new script(
"By Distribution",
Distribution( Stack( 1 ), Continuous Distribution( Column( :value ), Horizontal Layout( 1 ), Vertical( 0 ) ), By( :group ) )
), new script(
"Weighted Distribution",
Distribution( Stack( 1 ), Continuous Distribution( Column( :value ), Horizontal Layout( 1 ), Vertical( 0 ) ), weight( :weight ) )
)}
);
dt_sum = dt << summary( subgroup( :group ), Mean( value ) );
dt_sum << New Column( "all mean", Formula( Mean( :"Mean(value, A)"n, :"Mean(value, B)"n ) ) );
Ri: Non so come utilizzare "Peso" in "Analizza"Innanzitutto, il peso non è la frequenza. Se sai cosa fa Freq, allora Weight fa qualcosa di diverso o extra.
Vorrei segnalare i seguenti due articoli SAS:
A mio avviso, utilizzare Peso solo se si desidera modificare il modo in cui le singole osservazioni influiscono sulla propria analisi. Ad esempio, come nel secondo articolo sopra, si potrebbe voler mitigare l'influenza dei valori anomali sull'analisi.
Quindi, se vuoi usare il peso o meno, e come usarlo, potresti chiederti, come potrebbe influenzare la tua analisi e come interpretare l'impatto.
Nell'esempio che hai fornito, e dal modo in cui descrivi, posso solo immaginare che tu abbia una sorta di dati di riepilogo, quindi desideri utilizzare Peso per "correggere" i contributi delle statistiche di riepilogo dei singoli gruppi. Ma non sono a conoscenza di piattaforme JMP progettate per gestire dati di riepilogo, ad eccezione di alcuni strumenti in Guida> Indice dei campioni. Se i tuoi dati sono nella loro forma originale, non hai bisogno di Weight, come ha detto il mio collega.
Ri: Non so come utilizzare "Peso" in "Analizza"A meno che non stia interpretando male il tuo post, un percorso per trovare il valore medio di ciascun gruppo è strutturare la tabella dati con due colonne, "Gruppo" come variabile nominale e "Y" come variabile continua nella seconda colonna. Quindi esegui una semplice piattaforma di distribuzione con la variabile "Gruppo" nella finestra Per e la variabile "Y" nella finestra Y, colonne e otterrai due istogrammi e tabelle statistiche riassuntive, uno per ciascun valore nella colonna "Gruppo" . Non è necessario preoccuparsi della finestra Peso.
R: Non so come usare "Peso" in "Analizza"stesso esempio di cui sopra, con Graph Builder:
dt = New Table( "test", Add Rows( 2 ),
New Column( "variable", Set Values( [4, 8] ) ),
New Column( "N", Set Values( [2000, 3000] ) ),
New Column( "ratio", Formula( :N / Col Sum( :N )*1000 ))
);
Graph Builder(Variables( Y( :variable ), Frequency( :ratio ) ), Elements( Bar( Y ) ));
... e il risultato è 6,4.

Quindi Graph Builder segue le stesse linee delle altre piattaforme?

no -- GraphBuilder passa automaticamente al peso:

... con l'impatto precedentemente menzionato su altre statistiche come la mediana
@hogi ha scritto: Tutto questo ha sicuramente senso
ma nonostante tutto: sorprendente quando lo vedi la prima volta.
e: pericoloso - se non lo vedi;)
E per quanto riguarda i conteggi (post precedente), perché il grafico è fuorviante?
La frequenza non ha alcun impatto sui conteggi , né in Graph Builder né nelle statistiche riepilogative.
[-> Ho aggiunto un commento al post sulle statistiche riassuntive]