Curve-fitting

Uit De Vliegende Brigade
Naar navigatie springen Naar zoeken springen

Dit gaat over tweedegraads polynome functies, zoals je die krijgt als je in Google Ads of Amazon, winst als functie van bod uitzet: Een omgekeerde tweedegraads polynoom met ergens een optimum. Het betreft géén exponentiële functie.

Inleiding

  • Kleinste-kwdaratenmethode is bedoeld voor een lineaire functie, maar je kunt het generaliseren naar andere functies, zoals polynomen [1]
  • De tweede afgeleide van een kwadratische functie, is een constante. Dat kun je gebruiken om het soort functie te identificeren, en vermoedelijk ook voor een kleinste-kwadratenmethode [2]
  • Met twee datapunten kun je een lineaire functie defineren. Met drie datapunten kun je een kwadratische functie defineren
  • Een kwadratische functie heeft drie onbekenden. De meetdata kun je in een matrix stoppen ⇒ Oplossen als een stelsel van vergelijkingen - Dat werkt alleen niet voor stochastische data ⇒ Wel met een pseudo-inverse
  • Curve fitting met kwadratische modellen [3]
  • Standaardformule: ax^2 + bx + c Tav. winstfuncties, is c altijd 0: Bij een bod van 0 is de winst ook 0.

Voorbeeld CBlissMath

[4]

Datapunten:

(x,y)
-----
(1,7)
(2,2)
(3,1)
(4,3)

Bijbehorend stelsel van vergelijkingen:

 1a + 1b + c = 7
 4a + 2b + c = 2
 9a + 3b + c = 1
16a + 4b + c = 3 

In matrixalgebra:

Ax=y <=>

[  1 1 1    [a     [7
   4 2 1  *  b  =   2
   9 3 1     c]     1
  16 4 1]           3]

Oplossing:

x = A^(+)y    A^(+) = Penrose-Moore pseudo-inverse

  = [ 7/4
      -10,05
      15,25]

De pseudo-inverse heb ik hier berekend

Voorbeeld Amazon

Uit een Amazon-campagne haal ik drie datapunten:

  Bod      Winst
  ------   ------
* € 0,02 - € 4,30
* € 0,20 - € 5,70
* € 0,66 - € 3,60

In matrix-algebra:

|0,0004	0,2	1|		|a|		4,3
|0,04	0,2	1|	*	|b|	=	5,7
|0,4356	0,66	1|		|c|		3,6

Pseudo-inverse:

  -25.2525   25.2525    0.0000
   21.7172  -23.8911    2.1739
   -3.3333    4.7681   -0.4348

Berekening v=A^(+)*y heb ik hier gedaan:

   4.7418
   4.9121
   9.2352

Conclusies

  • Deze uitkomst klopt niet: Ik moet een parabool krijgen met een maximum, niet met een minimum - Jammer.
  • Wellicht dat het eerste datapunt (0,02, y) te extreem is om betrouwbaar te zijn.

Bronnen