 |
|
 |
Mostra argomento precedente :: Mostra argomento successivo |
Autore |
Messaggio |
mingus utente attivo

Iscritto: 12 Apr 2005 Messaggi: 3983
|
Inviato: Mer 25 Gen, 2006 5:41 pm Oggetto: Aiuto con S-PLUS |
|
|
Qualcuno bravo ad usare il software S-PLUS o in alternativa R è disposto a darmi una mano con un piccolo problema?
Speriamo che ci sia qualcuno...
Grazie comunque
Andrea _________________ mingus |
|
Vai ad inizio pagina Vai a fine pagina |
|
 |
Slater utente attivo

Iscritto: 08 Apr 2005 Messaggi: 855 Località: Lodi
|
Inviato: Mer 25 Gen, 2006 9:29 pm Oggetto: |
|
|
...non so quanta gente troverai che smanetta con software di data mining...  _________________ Canon Eos 40D | Canon 17-40/F4L , Canon 50 1,4 USM, Tamron 90 2.8 SP Di Macro, Canon 70-300 IS USM F4-5.6, Canon 28-70 F3.5-4.5 mkII, Canon Speedlite 580 EX II |
NextoDI 2700 Extreme 250GB | Manfrotto 190DB + Testa 390RC2 |Tamrac Velocity 9 | |
|
Vai ad inizio pagina Vai a fine pagina |
|
 |
mingus utente attivo

Iscritto: 12 Apr 2005 Messaggi: 3983
|
Inviato: Mer 25 Gen, 2006 10:32 pm Oggetto: |
|
|
Posso immaginarlo, ma magari photo4u mi stupisce
Sto lavorando sulla tesi e S-Plus mi serve perchè è una forza nel massimizzare funzioni di verosimiglianza piuttosto complesse. E' un lavoro interessante ma che dal punto di vista computazionale è da mani nei capelli
Andrea _________________ mingus |
|
Vai ad inizio pagina Vai a fine pagina |
|
 |
Slater utente attivo

Iscritto: 08 Apr 2005 Messaggi: 855 Località: Lodi
|
Inviato: Mer 25 Gen, 2006 10:36 pm Oggetto: |
|
|
guarda, non so se posso esserti d'aiuto ma le ho studiate in basi di dati le data mining... se vuoi provare a postare qualcosa vedo se riesco ad aiutarti...ma non garantisco niente  _________________ Canon Eos 40D | Canon 17-40/F4L , Canon 50 1,4 USM, Tamron 90 2.8 SP Di Macro, Canon 70-300 IS USM F4-5.6, Canon 28-70 F3.5-4.5 mkII, Canon Speedlite 580 EX II |
NextoDI 2700 Extreme 250GB | Manfrotto 190DB + Testa 390RC2 |Tamrac Velocity 9 | |
|
Vai ad inizio pagina Vai a fine pagina |
|
 |
mingus utente attivo

Iscritto: 12 Apr 2005 Messaggi: 3983
|
Inviato: Gio 26 Gen, 2006 12:01 am Oggetto: |
|
|
Il problema è nella programmazione in S-Plus.
Ho una routine che presi n valori li "sbatte" dentro una funzione e ne plotta l'andamento. Sullo stesso grafico ho anche una retta parallela all'asse delle ascisse che intercetta la prima curva 2 volte. Io devo trovare ardinata e ascissa dei 2 punti. Per l'ordinata non è un problema, il problema è nel determinare le ordinate. La funzione *non* è invertibile, quindi non posso buttargli dentro l'ordinata sperando che mi restituisca le ascisse.
E' proprio un problema di programmazione, che non è il mio campo. A differenza delle funzioni di verosimiglianza che ormai me le mangio a colazione
Il codice comunque è questo: Codice: | "gev.profxi"<-
function(z, xlow, xup, conf = 0.95, nint = 100)
{
#
# plots profile log-likelihood for shape parameter
# in gev model
#
cat("If routine fails, try changing plotting interval", fill = T)
assign("xdat", z$data, frame = 1)
v <- NULL
x <- seq(xup, xlow, length = nint)
sol <- c(z$mle[1], z$mle[2])
for(i in 1:(length(x))) {
assign("xi", x[i], frame = 1)
sol <- nlmin(gev.plikxi, sol, print = 0)$x
v[i] <- gev.plikxi(sol)
}
plot(x, - v, type = "l", xlab = "Shape Parameter", ylab =
"Profile Log-likelihood")
ma <- - z$nllh
abline(h = ma, col = 4)
abline(h = ma - 0.5 * qchisq(conf, 1), col = 4)
invisible()
} |
Mi interessa trovare i punti di intersezione tra la retta orizzontale ma - 0.5 * qchisq(conf, 1) e la "curva" formata dall'unione dei cento valori -v.
grazie comunque!
Andrea[/code] _________________ mingus |
|
Vai ad inizio pagina Vai a fine pagina |
|
 |
Slater utente attivo

Iscritto: 08 Apr 2005 Messaggi: 855 Località: Lodi
|
Inviato: Gio 26 Gen, 2006 12:33 am Oggetto: |
|
|
non conoscendo il linguaggio non è che possa aiutarti molto.
magari sarò banale, ma hai provato a vedere se non esiste una funzione che dati in input le 2 curva/retta ti resituisca i punti di intersezione? perchè ho provato a pensare qualcosa ma non puoi manipolare 2 variabili matematicamente (nel senso pensando alla matematica non puoi applicare il principio di sostituzione su 2 variabili che hanno assegnate le due curve/retta)
....sorry.... di + non so come aiutarti  _________________ Canon Eos 40D | Canon 17-40/F4L , Canon 50 1,4 USM, Tamron 90 2.8 SP Di Macro, Canon 70-300 IS USM F4-5.6, Canon 28-70 F3.5-4.5 mkII, Canon Speedlite 580 EX II |
NextoDI 2700 Extreme 250GB | Manfrotto 190DB + Testa 390RC2 |Tamrac Velocity 9 | |
|
Vai ad inizio pagina Vai a fine pagina |
|
 |
photolais utente

Iscritto: 07 Gen 2006 Messaggi: 340 Località: saronno
|
Inviato: Gio 26 Gen, 2006 1:01 am Oggetto: |
|
|
v[i] e x[i] rappresentano le coordinate dei punti della curva ?
se si, allora forse puoi fare così (i dettagli dipendono dal linguaggio di programmazione che non so quale sia)
L'idea è che se le due curve si intersecano allora prima (dell'intersezione) una sta sopra, poi sotto.
Allora ad ogni ciclo calcolo la differenza di ordinata tra le due, quando cambia di segno ho il punto di intersezione (v[i],x[i])
Quindi nel dettaglio farei così:
utilizzo due variabili: deltaCorr e deltaPrec, inizializzate a +100000 (o comunque ad un valore sicuramente maggiore della differenza piu grande tra le due)
Nel ciclo che hai riportato, dopo l'ultima operazione (calcolo di v[i]) io calcolerei una variabile 'deltaCorr' così
delta1<-v[i]-yretta (cioè credo ma - 0.5 * qchisq(conf, 1))
if (deltaPrec=10000 ) or (deltaCorr*deltaPrec)>0 then
deltaPrec=deltaCorr
else
hai il punto cercato (v[i],x[i]) e te lo salvi o stampi come ti pare
ovviamente la sintassi può cambiare parecchio, il senso del test della if è il seguente:
deltaPrec=10000 --->siamo al primo giro, non ha senso considerare deltaPrec
(deltaCorr*deltaPrec)>0 i due delta hanno lo stesso segno--> le curve non si sono intersecate.
Spero ti possa servire
Fammi sapere se va, se non va o se servono maggiori chiarimenti
 |
|
Vai ad inizio pagina Vai a fine pagina |
|
 |
mingus utente attivo

Iscritto: 12 Apr 2005 Messaggi: 3983
|
Inviato: Gio 26 Gen, 2006 9:46 am Oggetto: |
|
|
Grazie mille ad entrambi.
photolais, ad una soluzione simile alla tua ci avevo pensato pure io ora devo studiarmi un po' meglio il linguaggio. Non sono mica un informatico, io!
Se esce qualcosa vi farò sapere.
Andrea _________________ mingus |
|
Vai ad inizio pagina Vai a fine pagina |
|
 |
|
|
Non puoi iniziare nuovi argomenti Non puoi rispondere ai messaggi Non puoi modificare i tuoi messaggi Non puoi cancellare i tuoi messaggi Non puoi votare nei sondaggi Non puoi allegare files in questo forum Puoi scaricare gli allegati in questo forum
|
|