25 juli 2013

Björnbom bommar igen?

Så var det dags igen: Björnbom på förvillarbloggen "Klimatupplysningen" har till fredag utlovat ännu ett inlägg som ska visa att CO2-halten i atmosfären beror på integralen av temperaturen (givet en viss baslinje). Våra förväntningar är mycket låga.

Vi har redan gett en detaljerad förklaring till varför integralen av temperaturen går att anpassa så bra till koldioxidhalten. Det är inte vad Björnbom tror. I korthet beror det på att:

  1. koldioxidhalten ökar approximativt exponentiellt  
  2. temperaturen beror på koldioxidhalten 
  3. därför finns det också en exponentiell trend i temperaturen, men dessutom ganska stort "brus" 
  4. när man integrerar temperaturen så består den exponentiella trenden, men det mesta av "bruset" försvinner.

Vi har också gjort numeriska experiment, som bekräftar att det här fungerar. Där har vi:

  1. genererat en syntetisk CO2-kurva som en exponentiell funktion + lite AR-brus.
  2. genererat en syntetisk temp-kurva som CO2 justerat för det logaritmiska beroendet + ganska mycket AR-brus.
  3. beräknat integralen av temp-kurvan.
  4. beräknat maximalt R2 efter anpassning mellan CO2 och temp, och mellan CO2 och integrerad temp.
Här är ett exempel på en körning:
Här har CO2 och temp ett R2 på 0,809, och CO2 och temp integrerat ett R2 på 0,996. Notera att detta inte är uppmätta data, utan syntetiska. Och om man prövar med andra syntetiska data så blir resultaten ungefär det samma.

 PS! Med "bommar" i rubriken så menar vi "missar", inte "stänger".

Uppdatering 2013-07-26: Björnbom bommar! Det är mest omtugg av tidigare inlägg.
Björnbom påstår i inledningen:
Som jag redan från börjat påpekat så kan det vara av en tillfällighet som ekvationen överensstämmer med observationerna, att den egentligen stämmer med den etablerade teorin. Men någon trovärdig sådan förklaring finns ännu inte.
Jo, det finns det, men Björnbom väljer helt enkelt att ignorera den.


Uppdatering 2013-07-27: Från en uppdatering av Björnboms inlägg lyckades jag gräva fram en rimlig invändning: det finns andra faktorer utöver CO2 (t ex metan, aerosoler) som påverkar temperaturen på lång sikt. Så jag prövade med addera olika linjära och exponentiella funktioner till temperaturen för att se vad som hände. Här nedan t ex har jag adderat en negativ linjär trend som går från  0 till -30. Rföre integrering är så lågt som 0,57, men efter integrering är det 0,985, vilket bara är något sämre än tidigare. För positiva funktioner var försämringen inte märkbar. 
Men hur skulle det gå om vi lade in de faktiska forcings för den observerade temperaturen? Jo, deras summa skulle naturligtvis likna den observerade temperaturen. Eftersom den senares integral liknar CO2 kurvan så skulle resultatet efter generering och integrering av temperaturkurvan med faktiska forcings också likna CO2-kurvan.

Uppdatering 2013-07-28: Här lite mer detaljerad information om hur experimenten gick till.

Jag utgår från den exponentiella funktionen

f(x) = 4.7*(1.02^x-1)  

co2 := f(x) för x från 0 till 149
co2 := co2 + ar3-brus av storlek +-5

temp := (80/math.log(400/300))*math.log((300+co2(x))/300) för x från 0 till 149
temp := temp + AR(n)-brus av storlek +-20 (eller något annat av samma magnitud). Jag har mest jobbat med n=3, men även högre värden (t ex 10) har testats.

AR(n)-brus vid tid t kan beräknas som 1/(n+1)*(brus(t-n)+ ... + brus(t-1)) + e, där e är ett slumpmässigt värde mellan -E och +E. Storleken på bruset E kan vara t ex 10 eller 20. (Tillägg 08-08) .

temp_int := integrera över temp

temp_anpassad, r2_temp := minsta kvadrat-anpassa temp till co2, beräkna r2.
Anpassningen sker med parametrar a,b och funktionen a*temp(x)+b

temp_int_anpassad, r2_temp := minsta kvadrat-anpassa temp_int till co2, beräkna r2
Anpassningen sker med parametrar a,b och funktionen a*temp(x)+b*x, termen b*x är pga att vi har integrerat över ett offset b.

Man kan också innan integrering addera eller subtrahera t ex någon av de här på temp:

temp(x) := temp(x) +  0.5*(1.03^x - 1)  för x från 0 till 149

temp(x) := temp(x) - 0.5*(1.03^x - 1)    -"-

temp(x) := temp(x) +  10*(1.01^x - 1)    -"-

temp(x) := temp(x) -  10*(1.01^x - 1)    -"-

temp(x) := temp(x) +  0.2*x              -"-

temp(x) := temp(x) -  0.2*x              -"-

temp(x) := temp(x) + 20*sin(2*pi*x/50)  -"-
osv. 

Uppdatering 2013-07-29:  Här är HadCRUT4 global temperatur, anpassad till den exponentiella funktionen ovan. R2 är 0,80 innan integrering, och 0,995 efter integrering. Detta är värden som är jämförbara med de från mina experiment med syntetiska data.
Uppdatering 2013-07-31: Här är vår exponentiella funktion, HadCRUT4 efter integrering, samt CO2 (ökning sedan 1850). Som vi ser så ligger HadCRUT4 närmare den exponentiella funktionen (R2 = 0,995) än CO2-kurvan (R2 = 0,98). Mellan den exponentiella funktionen och CO2 har vi ett R2 på 0,991. Den största likheten hittar vi alltså mellan HadCRUT4 och den exponentiella funktionen. Dessutom ser vi att CO2-kurvan är approximativt exponentiell.
Uppdatering 2013-08-05:  Jag har försökt diskutera frågan med Björnbom på hans blogg. Som väntat så har Björnbom försökt slingra sig vilt. Hans senaste invändning, innan möjligheten att kommentera stängdes, var att jag har använt ett cirkelbevis eftersom jag använder en exponentiell koldioxidkurva. Men som jag har visat ovan är den observerade koldioxidkurvan mycket nära exponentiell, och jag har dessutom lagt till brus på de syntetiska koldixoidkurvorna. Slutligen, när man integrerar den observerade koldioxidkurvan så får man en likhet mot min exponentiella kurva med R2 = 0,9991, så avvikelserna har mycket liten effekt. Därmed faller Björnboms invändning.
Och Björnbom har själv inte gjort någonting för att visa att likheten mellan koldioxidkurvan och den integrerade temperaturen är märkvärdig. Ett fullständigt haveri av Björnbom, med andra ord.

Uppdatering 2013-08-06: Med en för honom typisk uppvisning av falskhet och hyckleri påstår Björnbom nu i en kommentar på KU att det här inlägget är "ett exempel på hur vetenskapen offras för politiken". Jag försöker faktiskt förstå och förklara saker här, men Björnbom gör allt han kan för att inte förstå, och han förmår själv inte förklara mycket. Bloggen som han själv tillhör är dessutom ironiskt nog proppfull med politik. 

Uppdatering 2013-08-07: På Klimatupplysningen sjunker Björnbom allt djupare. Nu påstår han i en kommentar:
``Jag har gjort mina fördjupningsrapporter, Lars Karlsson har som sagt inte gjort mycket mer än att presentera sina diagram på ett svepande sätt.''
Men jag har i en uppdatering för över en vecka sedan gett en detaljerad beskrivning av mitt tillvägagångssätt. Exakt vilka parametrar man väljer, och vilken ordning på AR-bruset (eller någon annan variant av brus) är inte så viktigt. Jag har redan prövat ganska många varianter.

Om Björnbom verkligen hade varit intresserad av att testa hur "sensationell'' likheten mellan koldioxidkurvan och integralen av temperaturen är så kunde han själv kommit på att göra sådana här tester innan jag föreslog dem. Eller när jag nu hann före, så kunde han, om han nu inte gillade eller riktigt förstod exakt hur jag gjorde, ha utvecklat sin egen version. Det är egentligen väldigt enkelt om man behärskar något programmeringsspråk med matematisk funktionalitet (jag har använt NumPy, numerisk Python*).

Men Björnbom har inte gjort något för att stödja sitt påstående om den "sensationella" likheten. Han har istället valt att försöka slingra sig på varje tänkbart sätt. Han har också systematisk förvrängt vad jag har sagt och gjort -  citatet här ovan är bara det senaste exemplet.

Björnbom har också hakat upp sig på att CO2-kurvan inte är helt exponentiellt (detta är delvis ett resultat av hans egen kurvmissanpassning.) Men jag har redan visat att om man integrerar koldioxidkurvan så liknar den min exponentiella funktion med R2 = 0,9991.  Så koldioxidkurvans eventuella "olikhet'' kommer inte att ha en märkbar effekt på den integrerade temperaturkurvan. Den sistnämnda ligger förresten betydligt närmare min exponentiella funktion än koldioxidkurvan (se ovan).
*I beskrivningen ovan använder jag dock inte Python-syntax, utan skriver i pseudokod.

Senare samma dag: Suck, Björnbom verkar fortfarande inte begripa vad jag gör. Det är väldigt enkelt: jag skapar en syntetisk koldioxidkurva genom att ta en exponentiell funktion och lägga lite brus på den. Sedan skapar jag en syntetisk temperaturkurva genom att lägga större brus på koldioxidkurvan  (och korrigera för koldioxidens logaritmiska påverkan). Jag kan också lägga på någon längre trend för att emulera andra långsiktiga faktorer. Resten av stegen motsvarar vad Björnbom gjorde med den observerade koldioxidkurvan och temperaturen, så det borde han klara av. Och poängen är: man får mycket bättre R2-värden efter integration av temperaturen (ofta typ 0,99).  Detta är alltså inget unikt för de observerade koldioxid- och temperaturkurvorna.

Och nästa dag: Björnbom påstår:
Min kritik kvarstår att Karlsson antar det han skall bevisa. Han antar en syntetisk exponentiell koldioxidkurva som hans sedan använder för skapa en syntetisk temperaturkurva. Denna temperaturkurva visar sig ge en exponentiell koldioxidkurva när Murry Salbys ekvation tillämpas på den. Detta är ett cirkelresonemang eftersom Karlsson bevisar det han antar. 

När jag skapar de syntentiska temperaturkurvorna så adderar jag saker till en (ungefärlig) exponentiell kurva: AR-brus, ibland längre trender. På samma sätt kan vi matematiskt beskriva den observerade temperaturkurvan som en exponentiell kurva med saker adderade (av samma magnitud som för mina syntetiska). Så om Björnbom tycker det är självklart att resultaten för mina syntetiska kurvor beror på att där finns en betydande exponentiell term, så borde han också kunna inse att resultaten för den observerade temperaturen beror på att där finns en betydande exponentiell term. Så enkelt är det!
HadCRUT4 uppdelat på exponentiell term (blått) plus övrigt adderat (grönt),
baslinje justerat så att den exponentiella kurvan börjar på 0.
Integralerna av termerna ovan. Lägg märket till hur den exponentiella termen behåller sin form,
och hur den "adderade" termen (residualen)  förminskas relativt den exponentiella termen.

Och vad är det som Björnbom inte förstår av mitt tillvägagångssätt? Hur man adderar AR-brus? Integreringen och anpassningen har han redan gjort, så det borde han ha kläm på.

Uppdatering 2013-08-10: Nu argumenterar Björnbom att derivatan av CO2-kurvan (sedan 1960 - de 110 första åren saknas alltså) inte liknar en exponentiell funktion. Men det är inte konstigt att en kurva kan bli mindre exponentiell vid derivering, om den kan bli mer exponentiell vid integrering. Björnbom borde fundera på varför CO2-derivatan är mindre lik temperatur-kurvan, än vad CO2-kurvan är lik den integrerade temperaturkurvan.
I övrigt fortsätter Björnbom att illustrera det gamla ordstävet "man kan leda en häst till vatten, men man kan inte  tvinga den att dricka". Nåväl, den här hästen har jag dragit runt så det räcker.

Uppdatering 2013-08-11:  Nu kan vi utan tvekan konstatera att Björnbom helt enkelt är en oförbätterlig bluffare:
Frågan om varför Murry Salbys ekvation stämmer med observationerna har diskuterats livligt på sistone och vissa har uttalat sig väldigt tvärsäkert att det beror på diverse kurvformer och inget annat. 
Jag är ledsen, men det finns helt enkelt inget annat att säga om Björnbom vid det här laget. Han har redan fått så många chanser att uppvisa någon slags tecken på intellektuell integritet, men han har kört dem allihopa.

Uppdatering 2013-08-14: Här är nästan samma experiment som i början, men med Mauna Loa-kurvan i stället för en syntetisk CO2-kurva. Termen E i R(5)-bruset var 15. Vi har R2 innan integrering på 0,85 och efter integrering på 0,988. Jag har fått både sämre (runt 0,95) och bättre (över 0,99) R2 värden för den integrerade temperaturen vid andra körningar. 
Och Björnbom: det jag invänder mot 2013-08-11 är att du får det att låta som om jag bara har påstått något utan att underbygga det. Det är inte sant. Men jag medger att det var dumt av mig att lämna dig utrymme för att feltolka mig.

9 kommentarer:

  1. Oh, nej inte igen! Jag får väl ge en tumme upp för din hängivenhet Lars, men är det inte såhär med Pehr Björnboms koldioxidteorier:

    This parrot is no more!
    He has ceased to be!
    He is expired and gone to meet its maker!
    He is a stiff!
    Bereft of life, he rests in peace!
    He is off the twig!
    He's kicked the bucket,
    This is an ex-parrot!

    Ingen utom det närmast sörjande riskerar väl att ta det på allvar?

    SvaraRadera
    Svar
    1. Eller kanske så här:

      Black Knight: I move for no man.
      King Arthur: So be it!
      [they fight until Arthur cuts off Black Knight's left arm]
      King Arthur: Now, stand aside, worthy adversary!
      Black Knight: 'Tis but a scratch!
      King Arthur: A scratch? Your arm's off!
      Black Knight: No, it isn't!
      King Arthur: Well, what's that then?
      King Arthur: I've had worse.
      King Arthur: You liar!
      Black Knight: Come on, you pansy!

      etc

      Radera
  2. Nu förstår jag inte , menar ni att temperaturen är linjärt proportionell mot CO2-halten? Hur får ni annars ett exponentiellt smband mellan temp och Co2?

    SvaraRadera
    Svar
    1. Mellan 200 och 300 ppm är den nästan linjär. Vi kan tänka oss att experimentet börjar vid 200 ppm. Och vi kan tänka oss att temperaturen är i hundradelars grader.

      Radera
    2. Förlåt, mellan 300 och 400 ppm ska det vara, och vid 300 ppm.

      Radera
  3. Lite mer Monty Python:http://www.youtube.com/watch?v=jF-CkMpQtlY

    SvaraRadera
    Svar
    1. Enheten för byfåneutbildning finns alltså vid UEA, undrar vad förkortningen är?

      Radera
    2. De flesta större lärosäten har en sådan avdelning.

      Radera
  4. Utifrån den ena tolkningen av rubriken kunde man hoppas att Björnbom skulle bomma igen 'merchant of doubt' - butiken. Men det verkar inte så. Det senaste tvivlet är dock av så dålig kvalite att knappt någon lär köpa det...

    SvaraRadera

Tips: Använd gärna signatur när du kommenterar. Det underlättar samtalet