Ikävä probleema

Seuraa 
Viestejä8875
Liittynyt25.8.2005

Tunnen menetelmän miten tämä pitäisi ratkaista, mutta en saa yhtälöä sellaiseen muotoon että tehtävää olisi mahdollista ratkaista annetun (miittaus) datan puitteissa. Tätä on tullut pari päivää pyöriteltyä ja virta alkaa olla lopussa, muuten en viitsisi asialla vaivata.

Eli on seuraavanlainen yhtälö

y = 2 / [1 + Ce^(Dt)]

tuolle pitäisi löytää PNS-suora niin että sen perusteella voitaiiin määritellä likiarvona parametrit C ja D.

Sain tuon muotoon ln(2/y - 1) = ln C + Dt, joka vaikuttaa ihan fiksulta koska se on periaatteessa muodossa Y = Ax + B (josta matriisilaskennalla on mahdollista ne suoran kertoimet ottaa ulos), mutta yksi pahanlaatuinen ongelma tuohon sisältyy.

Mittausdatassa on arvoja joilla tuo arvo (2/y - 1) menee negatiiviseksi ja logaritmin ottaminen siitä on laiton toimenpide.

En ole keksinyt mitään keinoa kiertää tuota ongelmaa, joten voisiko joku neropatti kertoa miten tuota tilannetta pitäisi oikein käsitellä.

Kommentit (10)

bosoni
Seuraa 
Viestejä2704
Liittynyt16.3.2005
David

Mittausdatassa on arvoja joilla tuo arvo (2/y - 1) menee negatiiviseksi ja logaritmin ottaminen siitä on laiton toimenpide.




Tilanne, jossa tuo on negatiivine, tarkoittaa samaa kuin että y > 2. Alkuperäistä yhtälöä katsomalla voidaan todeta että se ei voi olla mahdollista jos C > 0. Sellaiset arvot pitää varmaan vain sitten hylätä mittausdatasta. (olettaen että C täytyy olla positiivinen)

Jos C saa olla negatiivinen, niin voit siirtää sen ln(C); sinne yhtälön toiselle puolelle ja sinne toisen logaritmin sisään 2/y-1: jakajaksi, jolloin logaritmi onkin positiivisesta luvusta.

Jos sorruin (taas) virheeseen, niin tukka varmaan vain oli silmillä, kuten kuva osoittaa...

Cargo
Seuraa 
Viestejä979
Liittynyt27.8.2007

Ei muuta kuin että muunnat probleeman lineaariseksi: 1/y = a ja e^x = b

Annat vähän regressioo ja lopuks muunnat arvot takas...

" sähkö (se sähkö, jota tuotetaan mm. voimalaitoksissa) ei ole energiaa "
- Vastaaja_s24fi

“Jos et ole kaksikymppisenä vihreä, sinulla ei ole sydäntä. Mutta jos et ole nelikymppisenä perussuomalainen, sinulla ei ole aivoja.”
- Cargo

David
Seuraa 
Viestejä8875
Liittynyt25.8.2005

Eli siis

ln[ (2/y - 1) / C] = Dt
tai

ln[ 2/yC - 1/C) = Dt

Muuten hyvä, mutta nyt yhtälössä Y = Ax + B on Y = f(y,C) joka ei vaikuta kovinkaan lupaavalta, koska C on toinen selvitettävistä tuntemattomista, eli ei voida laskea Y = f(y) ilman että C:tä raahataan mukana.

Cargo
Seuraa 
Viestejä979
Liittynyt27.8.2007

" sähkö (se sähkö, jota tuotetaan mm. voimalaitoksissa) ei ole energiaa "
- Vastaaja_s24fi

“Jos et ole kaksikymppisenä vihreä, sinulla ei ole sydäntä. Mutta jos et ole nelikymppisenä perussuomalainen, sinulla ei ole aivoja.”
- Cargo

bosoni
Seuraa 
Viestejä2704
Liittynyt16.3.2005
David
Eli siis

ln[ (2/y - 1) / C] = Dt
tai

ln[ 2/yC - 1/C) = Dt

Muuten hyvä, mutta nyt yhtälössä Y = Ax + B on Y = f(y,C) joka ei vaikuta kovinkaan lupaavalta, koska C on toinen selvitettävistä tuntemattomista, eli ei voida laskea Y = f(y) ilman että C:tä raahataan mukana.




Onko tilanteesta pääteltävissä onko C negatiivinen tai positiivinen?

Se ei voi olla kumpaakin samaan aikaan. Jos se on negatiivinen, niin
ln[ (2/y-1)/C] = ln[ 1-2/y ] -ln [ -C ]

Muuten hylkäisin tulokset, jotka ovat vastoin lähtöoletuksia.

Jos sorruin (taas) virheeseen, niin tukka varmaan vain oli silmillä, kuten kuva osoittaa...

Stratonovich
Seuraa 
Viestejä358
Liittynyt14.6.2009
David
Eli on seuraavanlainen yhtälö

y = 2 / [1 + Ce^(Dt)]

tuolle pitäisi löytää PNS-suora niin että sen perusteella voitaiiin määritellä likiarvona parametrit C ja D.


Mitä jos et koittaisikaan muuntaa tuota suoransovitukseksi vaan suoraan ratkaisisit epälineaarista PNS-ongelmaa eli minimoisit tätä jollain optimointimenetelmällä:

S(C,D) = ∑ {y - 2 / [1 + Ce^(D t)]}^2

David
Seuraa 
Viestejä8875
Liittynyt25.8.2005
Stratonovich
David
Eli on seuraavanlainen yhtälö

y = 2 / [1 + Ce^(Dt)]

tuolle pitäisi löytää PNS-suora niin että sen perusteella voitaiiin määritellä likiarvona parametrit C ja D.


Mitä jos et koittaisikaan muuntaa tuota suoransovitukseksi vaan suoraan ratkaisisit epälineaarista PNS-ongelmaa eli minimoisit tätä jollain optimointimenetelmällä:

S(C,D) = ∑ {y - 2 / [1 + Ce^(D t)]}^2


Kyseessä on tenttitehtävä (joka 90 % varmuudella on edessä seuraavassakin tentissä), jossa nimenomaan pyydetään ratkaisu käyttäen PNS suoraa. Tosin se, onko tarkoitus ratkasita ensin se suora tunnettujen pisteiden perusteella ja siitä kertoimet vai onko tarkoitus tehdä se muuttujien vaihdon kautta matriiseja muokkaamalla on jätetty avoimeksi. Alkaa epäilyttämään, että tuo pitääkin tehdä ensin mainitulla tavalla, kun vaikuttaa muuten niin ongelmalliselta.

Stratonovich
Seuraa 
Viestejä358
Liittynyt14.6.2009
David
Stratonovich
David
Eli on seuraavanlainen yhtälö

y = 2 / [1 + Ce^(Dt)]

tuolle pitäisi löytää PNS-suora niin että sen perusteella voitaiiin määritellä likiarvona parametrit C ja D.


Mitä jos et koittaisikaan muuntaa tuota suoransovitukseksi vaan suoraan ratkaisisit epälineaarista PNS-ongelmaa eli minimoisit tätä jollain optimointimenetelmällä:

S(C,D) = ∑ {y - 2 / [1 + Ce^(D t)]}^2


Kyseessä on tenttitehtävä (joka 90 % varmuudella on edessä seuraavassakin tentissä), jossa nimenomaan pyydetään ratkaisu käyttäen PNS suoraa. Tosin se, onko tarkoitus ratkasita ensin se suora tunnettujen pisteiden perusteella ja siitä kertoimet vai onko tarkoitus tehdä se muuttujien vaihdon kautta matriiseja muokkaamalla on jätetty avoimeksi. Alkaa epäilyttämään, että tuo pitääkin tehdä ensin mainitulla tavalla, kun vaikuttaa muuten niin ongelmalliselta.

Jos y on se mitattu arvo, silloin mallinnuksen kannalta olisi luonnollisinta ajatella, että mitatut arvot ovat muotoa:

y = 2 / [1 + Ce^(Dt)] + v,

jossa v on virhe, esimerkiksi Gaussinen. Jos tästä lasketaan suurimman uskottavuuden estimaatti C:lle ja D:lle, tuloksena on tuo epälineaarinen PNS. Jos virhe v sattuu olemaan positiivinen, y voi olla ihan hyvin yli 2.

Tuo muunnos lineaariseen muotoon taas yrittää konvertoida mallin tällaiseksi PNS-ongelmaksi:

z = D t + A + w,

jossa z = ln(2/y-1) ja w on virhe. Mutta tämä ei ihan vastaakaan alkuperäistä, koska muuttujanvaihdossa unohdettiin virhetermi v, josta tulee tuo y > 2 ongelma.

Tämä lineaariseen muotoon muuntaminen on jo sen verran suuri mallinnusrikos, että sitä käytettäessä mielestäni voi ihan hyvin heittää ne y > 2 datapisteet roskiin. Tässä vaan voi käydä niin, että lähellä kakkosta olevat arvot voivat vääristää tulosta ja koska niitä yleensäkin löytyy (yksi jopa yli 2), tämä luultavasti tehtävässä haettu muunnostaktiikka on aika huono tapa tälle datalle + mallille.

Ihan toisenlainen tapa voisi olla tehdä vaikka tällainen approksimaatio:

2/y = 1 + C exp(Dt) ≈ 1 + C + C D t

jos arvot ovat lähellä arvoa t=0. Myös pisteisiin y voi suoraan sovittaa jotain polynomia, jota voi sitten koittaa yhyttää alkuperäisen funktion Taylorin sarjan kertoimiin.

edit: alle 2 => yli 2

David
Seuraa 
Viestejä8875
Liittynyt25.8.2005
bosoni
Onko tilanteesta pääteltävissä onko C negatiivinen tai positiivinen?

Se ei voi olla kumpaakin samaan aikaan. Jos se on negatiivinen, niin
ln[ (2/y-1)/C] = ln[ 1-2/y ] -ln [ -C ]

Muuten hylkäisin tulokset, jotka ovat vastoin lähtöoletuksia.


No niin nyt alkaa virtavalo lopultä välkkymään. Itse asiassa datassa on arvoja joilla jompi kumpi noista menee aina metsään (eli on y arvoja yli kahden ja alle yhden). Eli koko homma johtuu siitä ln(1) = 0 kulminaatiopisteestä. Eli pitäisi tarkastella erikseen x=1 vasemman ja oikeanpuolen pisteitä eri funktioilla, josta seuraisi itse asiassa kaksi eri PNS-suoraa.

Jos PNS-suora muodostetaan datan perusteella, niin ainakin sen pohjalta on tuo tehtävä ratkaistavissa. Nimittäin sen suoran funktioista on ratkaistavissa y = f(0), mikä taas seuraa yhtälössä tilanne y = 2 / (1 + C), josta C voidaan ratkaista.

Valitsemalla sitten suoralta joku toinen piste, voidaan D ratkaista sen perusteella kun C jo tunnetaan.

Jäin vain miettimään onko tuo sallittu menetelmä, kun olettaisi että se yhtälön perusteella "redusoitu" suora ei välttämättä ole sama kuin suoraan tuosta pistedatasta saatava suoran yhtälö.

Yksi vaihtoehto mikä lisäksi tuli mieleen olisi origon siirto vasemmalle, mutta sen toteuttaminen tuohon yhtälöön ylittää ainakin omat kykyni. Dataahan olisi helppo muuttaa, sen kun lisää kaikkiin x arvoihin siirroksen verran.

Uusimmat

Suosituimmat