• mrwiggs
  • Registratie: December 2004
  • Laatst online: 06:18
Om de waarde van een occasion te bepalen gebruik ik een halfwaardeformule. Er is namelijk een bepaalde kilometerstand en een bepaalde leeftijd waarbij de auto exact de helft waard is. In de praktijk is het echter al een combinatie van een bepaalde kilometerstand en leeftijd, en om dan de huidige waarde te berekenen gebruik ik deze formule:


code:
1
occasionwaarde = nieuwprijs * 0.5^(kilometerstand/A) * 0.5^(leeftijd/B)


Waarin A de halfwaardekilometerstand is en B de halfwaardeleeftijd. A en B zijn modelafhankelijk. Laten we in dit geval een BMW 1-serie 118i nemen.

Om A en B te bepalen heb ik een grote dataset te koop staande BMW 118i's. Hiervan heb ik zowel de nieuwprijs als de vraagprijs, de kilometerstand en de leeftijd. Hoe kan ik dmv deze dataset, A en B bepalen?

[ Voor 28% gewijzigd door mrwiggs op 14-08-2014 22:29 ]


  • The Eagle
  • Registratie: Januari 2002
  • Laatst online: 09:49

The Eagle

I wear my sunglasses at night

halfwaardetijden...lang geleden. Er staat me iets bij dat je voor halfwaardeberekeningen met logaritmische functies aan de slag moet. Maar de laatste keer dat ik dat deed zat ik op 6VWO en dat was in 1997. Dus pin me er niet op vast :P

Persoonlijk zou ik uit het geheel van data gewoon het gemiddelde bepalen van alles. Dat is denk ik veel makkelijker en sneller. Komt vast iets uit dat je dan kunt gebruiken :)

[ Voor 27% gewijzigd door The Eagle op 14-08-2014 22:38 ]

Al is het nieuws nog zo slecht, het wordt leuker als je het op zijn Brabants zegt :)


  • Onbekend
  • Registratie: Juni 2005
  • Laatst online: 23:41

Onbekend

...

Je hebt 1 vergelijking met 2 onbekenden, namelijk A en B. Je kunt het dus niet in 1 keer oplossen.
Misschien een grafiekje maken in Excel?

occasionwaarde = nieuwprijs * 0.5^(kilometerstand/A) * 0.5^(leeftijd/B) ->
occasionwaarde / nieuwprijs = 0.5^(kilometerstand/A + leeftijd/B)
(occasionwaarde / nieuwprijs)2 = kilometerstand/A + leeftijd/B
(occasionwaarde / nieuwprijs)2 - kilometerstand/A = leeftijd/B
((occasionwaarde / nieuwprijs)2 - kilometerstand/A)/leeftijd = 1/B

Dit is de formule om B te berekenen als je A hebt:
leeftijd / ((occasionwaarde / nieuwprijs)2 - kilometerstand/A) = B

Edit:
Als occasionwaarde de helft van de nieuwprijs is:
leeftijd / ((1/2)2 - kilometerstand/A) = B =
leeftijd / (1/4 - kilometerstand/A) = B

[ Voor 10% gewijzigd door Onbekend op 14-08-2014 22:55 ]

Speel ook Balls Connect en Repeat


  • Mercarra
  • Registratie: Juni 2001
  • Laatst online: 03-10 22:01
Je kan een 'error' waarde bepalen. Bijvoorbeeld de gemiddelde afwijking van je model. Als je vervolgens a tegen b, tegen error plot (als een 3d surface) kan je het minimum bepalen en dus de beste oplossing. Dit surface maken kan op talloze manieren. In jouw geval kan je prima alle combinaties van a en b langsgaan.

Canon EOS 6D / Samyang 14mm f/2.8 / 17-40mm f/4.0 / 35mm f/1.4 / 50mm f/1.4 / 85mm f/1.8 / 70-200mm f/4 IS mercarra.nl


  • GlowMouse
  • Registratie: November 2002
  • Niet online
Maak er *A en *B van, ipv de deling. Na links en rechts de logaritme te nemen, kun je met lineaire regressie de parameters bepalen.

  • Sibylle
  • Registratie: Juli 2006
  • Laatst online: 13-07-2023
Wat GlowMouse zegt:


occasionwaarde = nieuwprijs * 0.5^(kilometerstand/A) * 0.5^(leeftijd/B)
Waarde = n * 0.5km*A * 0.5L*B
Waarde = n * 0.5km*A + L*B
LOG0.5 Waarde/n = km*A + L*B


Bereken de waarde links voor de data die je hebt, en neem km en L als variabelen:
y=x1*A+x2*B

Dan doe je meervoudige ('multiple' of 'multivariable') lineaire regressie:
http://www.wikihow.com/Run-a-Multiple-Regression-in-Excel

Ctrl+k


Acties:
  • 0 Henk 'm!

  • The Eagle
  • Registratie: Januari 2002
  • Laatst online: 09:49

The Eagle

I wear my sunglasses at night

Zie je, ik wist wel dat het iets met logaritmes was :)

Al is het nieuws nog zo slecht, het wordt leuker als je het op zijn Brabants zegt :)


Acties:
  • 0 Henk 'm!

  • mrwiggs
  • Registratie: December 2004
  • Laatst online: 06:18
Bedankt voor de reacties. De oplossing lijkt inderdaad in de richting van wat GlowMouse en Sibylle zeggen. Twee termen die ik ook nog te horen kreeg waren de kleinstekwadratenmethode en Cramer Rao bound, maar weet zelf niet wat die tweede precies inhoudt.

Ik heb jullie methode gevolgd en hier vind je de Excel-sheet met de resultaten. Helaas nog een afwijking van gemiddeld 12%. Ziet iemand wat hier fout gaat? Is het misschien dat er 'maar' 15 occasions in staan en hij het op basis van zo weinig gegevens niet nauwkeurig kan oplossen?

[ Voor 11% gewijzigd door mrwiggs op 15-08-2014 11:46 ]


Acties:
  • 0 Henk 'm!

  • GlowMouse
  • Registratie: November 2002
  • Niet online
In plaats van
y=x1*A+x2*b
heb je gedaan:
y=x1*A+x2*B+C
C heet de intercept, en staat in veld MLR!B17. Je moet de regressie zonder intercept draaien.

De formule gaat nooit precies kloppen, omdat de prijs van meer factoren afhankelijk is. Meer gegevens zorgen voor een accuratere bepaling van A en B, maar zorgen er niet voor dat de afwijking kleiner wordt in de dataset die je nu hebt.

Acties:
  • 0 Henk 'm!

  • mrwiggs
  • Registratie: December 2004
  • Laatst online: 06:18
GlowMouse schreef op vrijdag 15 augustus 2014 @ 13:27:
In plaats van
y=x1*A+x2*b
heb je gedaan:
y=x1*A+x2*B+C
C heet de intercept, en staat in veld MLR!B17. Je moet de regressie zonder intercept draaien.
Thanks, dat was 't (Constant is zero moest ik aanvinken)! _/-\o_
GlowMouse schreef op vrijdag 15 augustus 2014 @ 13:27:
De formule gaat nooit precies kloppen, omdat de prijs van meer factoren afhankelijk is. Meer gegevens zorgen voor een accuratere bepaling van A en B, maar zorgen er niet voor dat de afwijking kleiner wordt in de dataset die je nu hebt.
Klopt, ik ga nog meer bedenken om de formule te verfijnen (opties schrijven bijv. sneller af) maar sommige dingen zijn nou eenmaal moeilijk mee te nemen (schades, kleur, etc.)

Acties:
  • 0 Henk 'm!

  • Beroemdheid
  • Registratie: Januari 2010
  • Niet online
Misschien spuit 11, maar alsnog :P Als je de gegevens hebt van twee auto's kan je A en B als volgt bepalen. M1 is de kilometerstand van auto 1, J1 de leeftijd van auto 1, P1 de nieuwprijs van auto 1 en W1 de huidige waarde van auto 1. M2 is dan de kilometerstand van auto 2 etc. Hieronder staat log voor 1/2log. Dan geldt dat

A = (J1 * M2 - M1*J2) / (J1 * log(W2/P2) - J2 * log(W1/P1) )
B = (M1*J2 - J1*M2) / (M1 * log(W2/P2) - M*2*log(W1/P1) )

Dit is dan voor als je door A en B deelt in de exponent.

Fractal Design Core 1100 review


Acties:
  • 0 Henk 'm!

  • Rannasha
  • Registratie: Januari 2002
  • Laatst online: 00:40

Rannasha

Does not compute.

Beroemdheid schreef op zondag 17 augustus 2014 @ 14:28:
Misschien spuit 11, maar alsnog :P Als je de gegevens hebt van twee auto's kan je A en B als volgt bepalen. M1 is de kilometerstand van auto 1, J1 de leeftijd van auto 1, P1 de nieuwprijs van auto 1 en W1 de huidige waarde van auto 1. M2 is dan de kilometerstand van auto 2 etc. Hieronder staat log voor 1/2log. Dan geldt dat

A = (J1 * M2 - M1*J2) / (J1 * log(W2/P2) - J2 * log(W1/P1) )
B = (M1*J2 - J1*M2) / (M1 * log(W2/P2) - M*2*log(W1/P1) )

Dit is dan voor als je door A en B deelt in de exponent.
Met 2 auto's (datapunten) kun je inderdaad A en B exact bepalen, maar dat werkt hier niet, want er zijn veel meer datapunten en die passen niet in exact hetzelfde patroon. Er zal veel ruis zitten in de data, waardoor je niet op zoek gaat naar een exacte oplossing voor A en B (want die bestaat niet), maar naar een zo goed mogelijke fit.

|| Vierkant voor Wiskunde ||


Acties:
  • 0 Henk 'm!

  • MSalters
  • Registratie: Juni 2001
  • Laatst online: 13-09 00:05
De log-conversie naar lineair gevolgd door een lineaire schatter geeft een resultaat, maar dat is verkeerd. De wiskundige reden daarvoor is lastig op VWO nivo uit te leggen, maar simpel gezegd is het probleem dat je "ruis" (andere factoren dan A en B die de prijs beïnvloeden, zoals bijvoorbeeld kleur) niet lineair getransformeerd worden door de log-functie. De correcte methode is een maximum likelyhood estimator.

Dat gezegd hebbende zou ik het probleem wel oplossen met transformatie naar log-space, maar vervolgens zou ik niet aannemen dat het simpele 2-parameter model klopt Ik zou eerder een 10-parameter model fitten. De Max Likelyhood Estimator gaat er namelijk vanuit dat je model correct is, en dat betwijfel ik.

[ Voor 6% gewijzigd door MSalters op 19-08-2014 12:38 ]

Man hopes. Genius creates. Ralph Waldo Emerson
Never worry about theory as long as the machinery does what it's supposed to do. R. A. Heinlein


Acties:
  • 0 Henk 'm!

  • GlowMouse
  • Registratie: November 2002
  • Niet online
MSalters schreef op dinsdag 19 augustus 2014 @ 12:37:
De log-conversie naar lineair gevolgd door een lineaire schatter geeft een resultaat, maar dat is verkeerd. De wiskundige reden daarvoor is lastig op VWO nivo uit te leggen, maar simpel gezegd is het probleem dat je "ruis" (andere factoren dan A en B die de prijs beïnvloeden, zoals bijvoorbeeld kleur) niet lineair getransformeerd worden door de log-functie.
Er is hier nooit een aanname gedaan over de ruis, dus het resultaat is niet 'verkeerd'.
De correcte methode is een maximum likelyhood estimator.
Je hebt dan ineens een aanname nodig over de kansverdeling van de ruis.
Dat gezegd hebbende zou ik het probleem wel oplossen met transformatie naar log-space
Waarom zou je? Met normaalverdeelde ruis is de MLE-schatter numeriek eenvoudig te vinden zonder transformatie naar log-space, omdat het een convex optimalisatieprobleem is.
maar vervolgens zou ik niet aannemen dat het simpele 2-parameter model klopt Ik zou eerder een 10-parameter model fitten. De Max Likelyhood Estimator gaat er namelijk vanuit dat je model correct is, en dat betwijfel ik.
De MLE-schatter gaat er niet vanuit dat het model correct is; de MLE-schatter maakt alleen een aanname over de ruis.

Een relevanter probleem hier is dat kilometerstand en leeftijd gecorreleerd zijn, en het daardoor lastiger is om A en B nauwkeurig te bepalen.

Acties:
  • 0 Henk 'm!

  • mrwiggs
  • Registratie: December 2004
  • Laatst online: 06:18
Bedankt voor alle reacties.

Ik ben verder aan de slag gegaan met de multivariabele lineaire regressie. Ik heb een dataset van 1000 BMW 1-series gebruikt en hiervan A en B bepaald. Wat ik zelf echter verwacht had was dat het volgende (ongeveer) zou gelden:

Sum(berekende waarden) - sum(daadwerkelijke aanbiedingsprijzen) = 0

Dit is echter niet het geval, bij deze 1000 auto's zat er een gemiddelde afwijking van +5 procent, wat ik vreemd vind. Iemand ideeën hierover?

Acties:
  • 0 Henk 'm!

  • MSalters
  • Registratie: Juni 2001
  • Laatst online: 13-09 00:05
GlowMouse schreef op vrijdag 22 augustus 2014 @ 23:58:
[...]
Er is hier nooit een aanname gedaan over de ruis, dus het resultaat is niet 'verkeerd'.
Nog erger dan een foute aanname. Als je geen ruis aanneemt, dan gebruik je 3 punten en ben je klaar. Als je denkt dat meer dan 3 punten noodzakelijk zijn, dan heb je al een aanname over ruis gemaakt. Dat is simpelweg de wiskundige consquentie, geen ruis en meer dan 3 punten leidt tot een overconstrained probleem.
Een relevanter probleem hier is dat kilometerstand en leeftijd gecorreleerd zijn, en het daardoor lastiger is om A en B nauwkeurig te bepalen.
En? Dat is uiteindelijk geen doel; het doel is een voorspeller. Interpolatie, zo je wil. Er is geen fysisch model waarbinnen A en B betekenis hebben.

Man hopes. Genius creates. Ralph Waldo Emerson
Never worry about theory as long as the machinery does what it's supposed to do. R. A. Heinlein


Acties:
  • 0 Henk 'm!

  • GlowMouse
  • Registratie: November 2002
  • Niet online
MSalters schreef op dinsdag 02 september 2014 @ 01:01:
[...]

Nog erger dan een foute aanname. Als je geen ruis aanneemt,
Om geen aanname te doen over 'de ruis', neem je aan dat er ruis is. Immers, anders stond er: "er is aangenomen dat er geen ruis is".
Het is een flauwe discussie, maar ik bedoelde dat je least squares kunt doen zonder enige veronderstelling van een kansmodel. Je kunt dan geen statistische toets uitvoeren, maar je hebt nog steeds kleinstekwadratenschatters. In elk boek over lineaire algebra wordt dit wel behandeld. Een log-transformatie heeft uiteraard gevolgen voor de schatters, maar zonder de transformatie is de kleinstekwadratenschatter nauwelijks te bepalen (veel lastiger dan de ML-schatter onder normaliteitsassumpties).
En? Dat is uiteindelijk geen doel; het doel is een voorspeller. Interpolatie, zo je wil. Er is geen fysisch model waarbinnen A en B betekenis hebben.
Ook de kwaliteit van de voorspeller is minder goed, zie Wikipedia: Multicollinearity, Consequences of multicollinearity. Het artikel is geschreven voor de kleinstekwadratenmethode, maar deze opmerking geldt ook voor ML-schatters.

Acties:
  • 0 Henk 'm!

  • MSalters
  • Registratie: Juni 2001
  • Laatst online: 13-09 00:05
Ik zie niet hoe jij tot die conclusie komt, al helemaal omdat Wikipedia expliciet het tegendeel vermeldt: de parameters A en B mogen dan onnauwkeurig zijn, zolang de nieuwe inputs (nieuw aangeboden auto's) niet al te ver afwijken van de trainingsdata (al aangeboden auto's) is de voorspeller nog steeds goed.

Man hopes. Genius creates. Ralph Waldo Emerson
Never worry about theory as long as the machinery does what it's supposed to do. R. A. Heinlein

Pagina: 1