Statistikgruppen MPAS Handelshøjskolen i København Tue Tjur Sep. 02 Notat 2: To ISUW programmer kørt ved forelæsningen 24/9. INIT.ISU og IT.ISU bruges til at udregne optimale styringsparametre PRIS, REKL og SAERPL, under forudsætning af at konkurrentens tilsvarende parametre og det totale salg er givne. Først køres INIT.ISU, som ser sådan ud: ______________________________________________________________________ del get data db1=salg*(pris-15) db2=db1-rekl-saerpl % Mellemregningsstørrelser defineres og gives fornuftige startværdier. var lin beta gamma delta 24 lin=0 beta=-3 { pris=1.5 * 15 kr.} gamma=0.2 { rekl=0.2*db1 } delta=0.1 { saerpl=0.1*db1 } % For ikke at glemme disse størrelser (som vil blive ændret % ved iterationerne) tager vi kopier: salg0=salg pris0=pris rekl0=rekl saerpl0=saerpl db20=db2 ______________________________________________________________________ Derefter gentages IT.ISU indtil der er konvergens. IT.ISU, som gennemfører en iteration (jvf. notat 1 side 6) ser sådan ud: ______________________________________________________________________ % for ikke at fylde sessionens outputfil med output fra de % enkelte iterationer dirigeres output til en midlertidig % fil tmp, out tmp gl_db2=db2 { Disse "gamle" værdier } gl_pris=pris { gemmer vi for at vise } gl_rekl=rekl { dem sammen med de nye.} rekl=gamma*db1 { optimale styringsparamtre } saerpl=delta*db1 { udregnes ved hjælp af de } pris=beta/(1+beta)*15 { gamle elasticiteter } % Herefter opdateres højre side af modellen, lin=10.61-3.416*ln(pris)+0.2572*ln(rekl/k_rekl)\ +0.1347*ln(saerpl/k_saerpl)+0.02261*periode {*} % ... og de øvrige variable opdateres, exp_lin=exp(lin) salg=totsalg*exp_lin/(1+exp_lin) db1=salg*(pris-15) db2=db1-rekl-saerpl % Til sidst udregnes opdaterede værdier af elasticiteterne til brug % for næste iteraton, beta=-3.416/(1+exp_lin) gamma=0.2572/(1+exp_lin) delta=0.1347/(1+exp_lin) % ... og vi ser på resultatet, list gl_db2::0 db2::0 gl_rekl::0 rekl::0 gl_pris:6:2 pris:6:2 show tmp ______________________________________________________________________ Som vi så ved forelæsningen virkede det ikke. Algoritmen gik i "selvsving" - den konvergerede ikke, men svingede tilsyneladende mellem visse ekstreme værider. Men hvis linien {*} blev ændret til lin=0.5*lin+0.5*(10.61-3.416*ln(pris)+0.2572*ln(rekl/k_rekl)\ +0.1347*ln(saerpl/k_saerpl)+0.02261*periode) så det ud til at fungere. Bemærk: Programmet er baseret på den model jeg tilfældigvis nåede frem til ved forelæsningen, en lineær model for log(salg/k_salg) med log(pris), log(rekl/k_rekl), log(saerpl/k_saerpl) og periode som forklarende variable. Det er - som vi også konstaterede - næppe den bedst mulige.