Convalidare/verificare il modello di overfit riordinando le variabili Y?Un collega ha descritto un test in un altro pacchetto software che riorganizza casualmente i valori y in un'analisi e quindi riadatta il modello per assicurarsi che abbia un adattamento scadente. Qualcuno ha familiarità con questa tecnica o ha tentato di automatizzarla in JMP?
Il confronto di questi due adattamenti dimostra la tecnica, anche se sembra che molte colonne y' siano state create e testate.
dt = New Table( "Untitled 2",
Add Rows( 10 ),
New Column( "x",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Selected,
Set Values( [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] )
),
New Column( "y",
Numeric,
"Continuous",
Format( "Best", 12 ),
Formula( :x * 2 + Random Normal( 0, 0.1 ) )
),
New Column( "y'",
Numeric,
"Continuous",
Format( "Best", 12 ),
Formula( Col Stored Value( :y, Col Shuffle() ) )
)
);
dt << Fit Model(
Y( :y, :y' ),
Effects( :x ),
Personality( "Standard Least Squares" ),
Emphasis( "Effect Leverage" ),
Run(
:y << {Lack of Fit( 0 ), Plot Actual by Predicted( 0 ),
Plot Residual by Predicted( 0 ), Plot Effect Leverage( 0 )},
:y' << {Lack of Fit( 0 ), Plot Actual by Predicted( 0 ),
Plot Residual by Predicted( 0 ), Plot Effect Leverage( 0 )}
)
);Ri: Convalidare / testare il modello overfit riordinando le variabili Y?Segno,
Se capisco il tuo post, penso che il bootstrap sarebbe un approccio alternativo per (si spera) arrivare alla stessa conclusione. Onestamente, anche se non ho avuto fortuna nel bootstrap delle stime dei parametri per più di un modello di base, forse sto facendo qualcosa di sbagliato :-). Ad esempio, il tentativo di eseguire il bootstrap delle stime dei parametri per un modello del secondo ordine genera più colonne per ogni possibile coefficiente.
Penso di aver trovato un modo per automatizzare questo utilizzando il metodo di simulazione. Invece di utilizzare la funzione di simulazione generata da una piattaforma, basta scambiare la y originale con la colonna y' riorganizzata. Tuttavia, ho problemi ad applicare la tecnica ai metodi di partizione; Sospetto che vengano utilizzati gli stessi alberi per ogni simulazione.
In allegato è uno script che mostra come appare per alcuni metodi diversi, ma ecco l'idea di base:
Random Reset(1);
dt = New Table( "Untitled 2",
Add Rows( 4 ),
New Column( "x",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Selected,
Set Values( [1, 2, 3, 4] )
),
New Column( "y",
Numeric,
"Continuous",
Format( "Best", 12 ),
Formula( :x * 2 + Random Normal( 0, 0.1 ) )
),
New Column( "y'",
Numeric,
"Continuous",
Format( "Best", 12 ),
Formula( Col Stored Value( :y, Col Shuffle() ) )
)
);
// ------ Linear Model ------
linmdl = dt << Fit Model(
Y( :y ),
Effects( :x ),
Personality( "Standard Least Squares" ),
Emphasis( "Effect Leverage" ),
Run(
:y << {Lack of Fit( 0 ), Plot Actual by Predicted( 0 ),
Plot Residual by Predicted( 0 ), Plot Effect Leverage( 0 )},
:y' << {Lack of Fit( 0 ), Plot Actual by Predicted( 0 ),
Plot Residual by Predicted( 0 ), Plot Effect Leverage( 0 )}
)
);
linrpt = linmdl << Report;
lindt = linrpt["Summary of Fit"][1][2] << Simulate(
100,
Out( :y ),
In( :y' )
);
lindt[2] << Distribution( Continuous Distribution( Column( :RSquare ) ) );
Ri: Convalidare / testare il modello overfit riordinando le variabili Y?Questo metodo di ricampionamento viene solitamente utilizzato per determinare la significatività dell'effetto della modifica dei livelli della variabile indipendente. Questo metodo viene spesso utilizzato al posto del T test o ANOVA, che fanno ipotesi sui dati e sul modello, per l'inferenza. L'approccio del ricampionamento genera la distribuzione empirica invece di assumere un modello particolare. Confronta la tua statistica campionaria con la distribuzione empirica per ottenere a P -valore.
JMP Pro può bootstrap qualsiasi risultato, come una stima di un parametro, al fine di determinarne la significatività.
Non è necessaria la seconda variabile dipendente (deviazione normale casuale).