Come posso eseguire una regressione dei minimi quadrati standard su valori specifici del mio asse x?
Per maggiore contesto: traccio la tensione rispetto alla corrente e ai valori -10 A -5 A 5 A 10 A ho bisogno di un modello di regressione minima standard di così tanti punti attorno a questi valori. Immagino di ottenere 4 punti o 4 piccole linee sui miei dati per rappresentarlo.
Ho JMP 17 pro e attualmente lo faccio per tutti i set di dati, tuttavia non è ciò di cui ho bisogno.
Un metodo per farlo tramite l'analisi JMP è preferibile rispetto allo script, ma qualsiasi cosa sarebbe fantastica 
CIAO @MedianRooster10 ,
Sei in grado di condividere una tabella di dati di esempio in modo che possiamo vedere come sono strutturati i dati? Ciò potrebbe aiutare a raggiungere una soluzione più rapidamente.
Un'idea che mi è venuta in mente è quella di avere una colonna che classifica i diversi gruppi correnti come tipo di dati nominale. Potresti avere valori numerici per la colonna :Current, come -10, -5, 5, 10, ma potresti avere una colonna con testo come -10A -5A 5A 10A, per ogni raggruppamento di corrente e poi quando esegui la regressione LS standard, usi questa colonna come variabile "BY".
Sarebbe come usare il file Big Class.jmp e modellare :height come Y, :weight come X e poi :sex come variabile "BY". Ciò fornirebbe un modello per tutte le Y raggruppate in quei diversi intervalli di tensione. Questo potrebbe non essere quello che stai cercando, ma, ancora una volta, sarebbe utile ottenere una tabella dati di esempio per vedere come sono strutturati i tuoi dati e fornire una soluzione più specifica.
Spero che questo ti aiuti!,
DS
CIAO @SDF1
Non penso che sia quello che cerco.
Ho allegato un sottoinsieme dei dati per 1 temperatura e il grafico che produco.
Non è un grafico lineare, tuttavia voglio una regressione lineare parziale. Ad esempio, voglio prendere i 10 punti dati più vicini a 5A e calcolarne il quadrato minimo (tracciarlo come punto dati sul mio grafico).
Grazie per l'aiuto!
CIAO @MedianRooster10 ,
Penso che tu stia cercando di fare una regressione a tratti. Potresti essere in grado di farlo con Functional Data Explorer o con la piattaforma non lineare.
Questo blog JMP potrebbe aiutarti a realizzare questo tipo di regressione su un caso d'uso molto simile: Adattamento di funzioni a tratti con la piattaforma non lineare di JMP
Spero che questo ti possa aiutare,
CIAO @MedianRooster10 ,
Grazie per la tabella dei dati, che aiuta a capire un po' meglio le cose.
Se non è necessario eseguire un adattamento dei minimi quadrati per tutti i dati, ma solo per un determinato segmento o più segmenti, penso ancora che utilizzare una sorta di colonna identificativa sia la strada da percorrere e utilizzarla nel modello come una variabile BY o come filtro dati locale. Immagino anche che potresti doverlo fare per molte tabelle o colonne di dati, il che significa che lo scripting in realtà sarebbe un buon modo per farlo.
Se vuoi farlo con un po' di scripting e il resto interfacciandoti con JMP, di seguito c'è un piccolo codice che ordinerà la tua tabella dati, creerà una nuova tabella dati, genererà una colonna chiamata :Segment e quindi assegnerà un valore al segmento di scelta. Nel codice, il target è il valore corrente target: ho scelto 10 e l'intervallo è il numero di punti dati su entrambi i lati. se poi esegui un regolare minimo quadrato standard e usi la colonna :Segment come filtro dati locale, puoi selezionare il segmento 2 e ottenere i minimi quadrati adatti ai dati.
Names Default To Here( 1 );
Current Data Table() << Sort( By( :"Current(A)"n ), Order( Ascending ), Output Table( "Sorted.jmp" ) );
dt = Data Table("Sorted");
dt << New Column( "Segment", "Continuous", "Ordinal" );
range = 5; //rows to group on either side of target
target = 10; //5A
rows = Current Data Table() << Get Rows Where( (:"Current(A)"n >= target - 0.3 & :"Current(A)"n <= target + 0.3) );
For( i = 1, i <= N Rows(dt), i++,
If(
i < rows - range, :Segment[i] = 1,
(i >= rows - range & i <= rows + range), :Segment[i] = 2,
i > rows + range, :Segment[i] = 3
)
);Ottieni un output simile a questo.

Se utilizzi la colonna Segmento come variabile BY nell'adattamento del modello SLS, quando ottieni il modello dei dati, puoi tenere premuto il tasto CTRL e fare clic con il pulsante sinistro del mouse sul pulsante rosso accanto a uno dei nomi "Tensione di risposta" e selezionare Salva colonne > Formula di previsione per salvare una colonna della formula di previsione nella tabella dati in cui viene utilizzata un'equazione diversa, a seconda del numero del segmento.



Ora, questo è certamente un modo per farlo.
Un altro modo per farlo è creare il grafico della tensione rispetto alla corrente nel generatore di grafici, quindi utilizzare lo strumento lazo (accanto alla lente di ingrandimento, sotto i menu) per selezionare i dati che desideri adattare.

Quindi vai su Righe > Selezione riga > Inverti selezione riga.

Quindi fare clic con il tasto destro su uno dei numeri di riga e selezionare Nascondi ed Escludi. Quindi, quando accedi alla piattaforma Modello per i minimi quadrati standard, puoi modellare solo i punti dati che non sono nascosti ed esclusi.
Nell'esempio seguente, puoi vedere il modello e l'adattamento SLS ai dati. Dal grafico Residual by Predicted, puoi vedere una certa curvatura, quindi ho aggiunto un termine Current*Current e ottieni un adattamento molto migliore con residui leggermente più casuali.


Se conosci la forma funzionale della formula per le diverse sezioni a tratti dei tuoi dati, allora procederei nel modo menzionato da Victor utilizzando la piattaforma Non lineare. Ma è necessario conoscere la forma funzionale di ogni pezzo e sapere dove "suddividere" i dati.
Tra questo e quello che ha pubblicato Victor, dovresti averne abbastanza per iniziare.
Spero che questo ti aiuti!,
DS