Validieren / Testen des Overfit-Modells durch Neuordnen von Y-Variablen?Ein Kollege beschrieb einen Test in einem anderen Softwarepaket, der die y-Werte in einer Analyse zufällig neu anordnet und dann das Modell neu anpasst, um sicherzustellen, dass es eine schlechte Anpassung hat. Ist jemand mit dieser Technik vertraut oder hat versucht, sie in JMP zu automatisieren?
Der Vergleich dieser beiden Anpassungen demonstriert die Technik, obwohl es so klingt, als würden viele y'-Spalten erstellt und getestet.
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 )}
)
);Re: Validieren / Testen des Overfit-Modells durch Neuordnen von Y-Variablen?Markierung,
Wenn ich Ihren Beitrag verstehe, denke ich, dass Bootstrapping ein alternativer Ansatz wäre, um (hoffentlich) zum gleichen Ergebnis zu gelangen. Ehrlich gesagt, obwohl ich nicht viel Glück beim Bootstrapping von Parameterschätzungen für mehr als ein Basismodell hatte, mache ich vielleicht etwas falsch :-). Beispielsweise führt der Versuch, Parameterschätzungen für ein Modell zweiter Ordnung zu booten, zu mehreren Spalten für jeden möglichen Koeffizienten.
Ich glaube, ich habe einen Weg gefunden, dies mit der Simulationsmethode zu automatisieren. Anstatt die von einer Plattform generierte Simulationsfunktion zu verwenden, tauschen Sie einfach das ursprüngliche y mit der neu angeordneten y'-Spalte aus. Ich habe jedoch Probleme, die Technik auf Partitionsmethoden anzuwenden; Ich vermute, dass für jede Simulation die gleichen Bäume verwendet werden.
Im Anhang ist ein Skript, das zeigt, wie dies für einige verschiedene Methoden aussieht, aber hier ist die Grundidee:
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 ) ) );
Re: Validieren / Testen des Overfit-Modells durch Neuordnen von Y-Variablen?Dies Resampling-Methode wird normalerweise verwendet, um die Signifikanz des Effekts einer Änderung der Niveaus der unabhängigen Variablen zu bestimmen. Diese Methode wird oft anstelle der T Test oder die ANOVA, die Annahmen über die Daten und das Modell treffen, um Schlussfolgerungen zu ziehen. Der Resampling-Ansatz erzeugt die empirische Verteilung, anstatt ein bestimmtes Modell anzunehmen. Sie vergleichen Ihre Stichprobenstatistik mit der empirischen Verteilung, um a . zu erhalten P -Wert.
JMP Pro kann Bootstrap jedes Ergebnis, wie beispielsweise eine Parameterschätzung, um seine Signifikanz zu bestimmen.
Sie brauchen die zweite abhängige Variable (zufällige normale Abweichung) nicht.