Loglikelihood per OLS normaleCiao comunità JMP!
Vorrei visualizzare la Loglikelihood del mio modello lineare (Fit Model -> Personality: Standard Least Squares). Ottengo l'AICc con l'opzione corrispondente in "Rapporti di regressione". Ma come posso estrarre la probabilità logaritmica?
ho trovato anche questa discussione: https://community.jmp.com/t5/Discussions/AICc-log-likelihood-where-is-it-reported/td-p/272033?trMode=source
Tuttavia non sono riuscito a riprodurre l'AICc con questa formula -2LL.
Grazie per l'aiuto!
Analisi e modellazione dei dati di baseRe: Loglikelihood per OLS normaleCIAO @Halbvoll : Se hai AICc o BIC, algebra (tramite le formule qui https://www.jmp.com/support/help/en/15.1/index.shtml#page/jmp/likelihood-aicc-and-bic.shtml#ww293087 ) darà alla Loglikelihood:
LL=(kln(n) - BIC)/2
O
LL= (2k+2k(k+1)/(nk-1) - AICc)/2
Re: Loglikelihood per OLS normaleCIAO @MRB3855 ,
grazie per la tua risposta! In effetti, ho già calcolato il LL in questo modo. Tuttavia, ho ricontrollato LL con altri pacchetti software/python (utilizzando gli stessi identici dati e parametri del modello) e ho ottenuto LL diversi, sebbene R2, SSE, RMSE ecc. Soprattutto con un numero più elevato di k, il LL tende ad avere una differenza maggiore tra JMP e, ad esempio, il pacchetto Python Statsmodels (PpS).
Quindi questo è ciò che mi confonde, PpS e JMP dovrebbero usare la stessa formula per l'AICc ma ottengo risultati diversi (poiché probabilmente il LL è diverso).
Re: Loglikelihood per OLS normale@Halbvoll potrebbero non utilizzare la stessa formula. La versione di JMP è la versione modificata, per adattarsi a campioni di piccole dimensioni. E poiché dici "Soprattutto con un numero più elevato di k LL tende ad avere una differenza maggiore tra JMP e cioè il pacchetto Python Statsmodels (PpS)", sospetto che Python stia usando la versione non modificata; quindi potresti voler verificare la tua ipotesi che stiano usando la stessa formula.
Re: Loglikelihood per OLS normaleCIAO @MRB3855 ! Quando parli di formula, intendi la formula per l'AIC C, Giusto? Ho controllato anche quello. Ho reimplementato la formula AICc di JMP in Python utilizzando il LL che ottengo da statsmodels. Tuttavia, ottengo lo stesso AICc dell'utilizzo della funzione AICc da statsmodels. Quindi il problema è che il LL tra statsmodels e JMP è diverso e vorrei sapere perché.
O parli della formula LL? In tal caso, non sono riuscito a capire come JMP stia calcolando il LL, ma questa sarebbe la chiave delle mie domande.
Grazie per l'aiuto!
Re: Loglikelihood per OLS normale@Halbvoll , hai provato Fit Model -> Personality: Generalized Linear Model, Distribution: Normal, Link Function: Identity?
Il report di output include -(LL) per il modello completo e ridotto.
Spero che questo ti sia utile.
Cordiali saluti,
M.G
Re: Loglikelihood per OLS normaleCome calcoli -2LL per il tuo modello?
JMP utilizza spesso la funzione di densità del kernel durante l'ottimizzazione delle stime dei parametri. Questo approccio è giustificato perché -2LL e AICc non hanno significato o interpretazione in alcun senso assoluto. Sono usati su base relativa per confrontare i modelli, quindi il kernel è sufficiente. Prova invece a utilizzare la densità del kernel.
Re: Loglikelihood per OLS normaleForse questa pagina può aiutare: https://www.jmp.com/support/help/en/15.1/index.shtml#page/jmp/likelihood-aicc-and-bic.shtml#ww293087
Scorri verso il basso per vedere la formula relativa ai minimi quadrati.
Notare le relazioni tra i pezzi in tre serie di formule:
(1) dalla metà superiore di quella pagina

(2) dalla metà inferiore di quella pagina

(3) dal thread a cui indichi

Quindi la -2Loglikelihood in (1) è uguale ai due pezzi evidenziati in (2).
E la -2Loglikelihood in (1) e (2) differisce da (3) per una costante N.
In altra letteratura, potresti vedere -2Loglikelihood = N*log(SSE/N). Mi fa piacere che noti la differenza. È comune in letteratura che le costanti nella probabilità logaritmica vengano eliminate.
Re: Loglikelihood per OLS normaleGrazie a tutti per il vostro supporto!
Grazie per la segnalazione @modelFit ! Questa era l'opzione che stavo cercando. Per i miei dati, ottengo lo stesso LL di statsmodels, il che mi confonde ancora di più. Forse il mio problema diventa più chiaro con uno screenshot (spero che la risoluzione sia abbastanza alta) del mio problema:

Pertanto, ho i seguenti risultati basati su JMP 16.2.0:
- -LL = 8,3501
- K = 3
- n = 18
- AICc = 27,7869
Tuttavia, se utilizzo -LL, k e n per calcolare manualmente l'AICc (formula (1)) ottengo 24.4243 -> Ottengo lo stesso risultato con statsmodels.
Se utilizzo JMPs AICc e riformulo la formula in LL= (2k+2k(k+1)/(nk-1) - AICc)/2 ottengo un -LL di 10.036.
Qualcosa non torna o mi sto perdendo qualcosa?
Re: Loglikelihood per OLS normalermse = 0.421637;
k = 3;
n = 18;
mse = rmse^2;
SSE = mse * (n - k);
//all above uses k=3, for 3 regression coefficients.
k = k+1;
//the above increases the number of parameters by 1, which is the sigma.
AICc = n * log(SSE/n) + 2*k + 2*k*(k+1)/(n-k-1) + n*log(2*pi()) + n;
Re: Loglikelihood per OLS normaleGrazie @peng_liu !! Queste sono le informazioni mancanti che risolvono il mio problema! Varrebbe la pena migliorare la documentazione di JMP su questo punto? Perché nella documentazione k è descritto come segue "where K è il numero di parametri stimati nel modello " ( https://www.jmp.com/support/help/en/17.1/index.shtml#page/jmp/likelihood-aicc-and-bic.shtml ) che ha portato alla mia confusione.
Inoltre, nelle pubblicazioni a cui si fa riferimento nella documentazione, ho sempre inteso k come il numero di parametri. Da dove viene questo k+1 prima dell'effettivo calcolo dell'AICc? Esiste una pubblicazione specifica che descrive questa procedura?
Modifica: potrebbe essere che la formula sia basata su questa pubblicazione? https://sites.warnercnr.colostate.edu/wp-content/uploads/sites/73/2017/05/Anderson-et-al-1994-Ecology.pdf
Re: Loglikelihood per OLS normaleCIAO @Halbvoll : Si consideri il modello completo; oltre ai coefficienti di regressione, c'è Sigma (ricordiamo che parte del modello è il termine di errore, distribuito Normal[mean=0, Sigma] ). Quindi, Sigma (stimato dall'RMSE) è il parametro aggiuntivo nel modello.
Re: Loglikelihood per OLS normale@Halbvoll E @MRB3855 grazie per la successiva discussione.
@Halbvoll Ho avuto la stessa preoccupazione quando ho pubblicato la mia risposta. @MRB3855 il sigma nell'AICc per i minimi quadrati non è RMSE, cosa che inizialmente ero confuso anch'io. Dopo aver comunicato con uno sviluppatore che ha una migliore conoscenza dell'argomento, ora posso spiegare cosa sta succedendo, come segue.
- Minimi quadrati non stima sigma come parametro libero. Quindi il numero di parametri in un Least Squares è uguale al numero di coefficienti di regressione.
- La stima dei minimi quadrati di Sigma è RMSE, che è sqrt(SSE/DF), dove DF = Numero di osservazioni - Numero di coefficienti. Questo Sigma non è un parametro libero nel senso della stima statistica.
- La formula AICc utilizza la verosimiglianza, che si basa sulla normale funzione di densità con Sigma, il cui MLE è sqrt(SSE/N). Il primo termine nello screenshot seguente è il contributo dell'MLE di Sigma. In tal senso, calcolando AICc in questo modo, il numero di parametri deve contare Sigma oltre ai coefficienti di regressione.

Mi è stato indicato il seguente articolo per vedere la prova completa e la derivazione completa. Se sei interessato, vedi tutte le derivazioni fino all'Eq 6.
https://www.sciencedirect.com/science/article/pii/S0893965917301623?ref=cra_js_challenge&fr=RR-1
HT Banks e ML Joyner, 2017, AIC nell'ambito della stima dei minimi quadrati, Applied Mathematics Letters, Volume 74.
Ci occuperemo del chiarimento in una futura versione della documentazione. Grazie ancora!
Re: Loglikelihood per OLS normaleCIAO @peng_liu , grazie mille per la spiegazione dettagliata e per questa pubblicazione, fino ad ora non conoscevo questo articolo. E grazie per l'aggiornamento della documentazione in futuro!!