GeoGebra för lärare: Regressioner

I och med datorernas intåg har nu sedan några år tillbaka begreppet regression med alla dess tillhörande procedurer letat sig in i matematikkurserna. Jag brukar personligen ta upp det redan i Ma1c som ”problemlösningsknep” på uppgifter av typen ”Vilken funktion går genom dessa båda punkter…”. Mer formellt introduceras ”Begreppen regressionsanalys och korrelationskoefficient. Digitala metoder för regressionsanalys” sedan i Ma2, där vi anpassar koefficienterna i en målfunktion med hjälp av minsta kvadratmetoden. I Ma3 och Ma4 utgår författarna till de nationella proven från att eleverna kan anpassa en godtycklig standardfunktion till mätpunkter. På (långt) högre nivå finns det alternativ till minsta kvadratmetoden, men låt oss än så länge hålla oss på gymnasienivå och vad vi kan göra med GeoGebra.

(Minsta kvadratmetoden kan för övrigt visualiseras som om punkterna ”drar” i linjen med hjälp av fjädrar – se den här korta artikeln med sin suggestiva animering.)

Lite nostalgi och teori

Regressionsanalys är alltså en metod för att anpassa en funktion till en mängd datapunkter. Då jag började på universitetet 1982 gjorde vi detta genom att dra en rät linje med penna och linjal längs våra datapunkter som vi noggrant markerat på millimeterrutat papper (ibland med logaritmiska axlar).

Det fanns till och med speciella linjaler för detta ändamål

Jag minns också hur stolt jag var när jag en gång härledde de teoretiska uttrycken för att beräkna parametrarna i en anpassad kvadratisk funktion teoretiskt med hjälp av linjär algebra. Lite senare i kurserna dök det upp datorbaserade metoder i Minitab, ett kolumnbaserat program som skapades 1972 och fortfarande är vid god hälsa.

Från vår verklighet (de empiriska datapunkterna) så skapar vi alltså en matematisk modell (funktionen). Den modell vi får fram är i någon mening ”den bästa” modell vi kan använda av den givna typen.

Den sista anmärkningen om ”i någon mening” är viktig. Det är bättre att använda en funktionstyp som stämmer med den underliggande teorin än att ta en godtycklig funktion som ”stämmer bäst”. Om det finns teoretiska skäl att en linjär funktion borde vara en bra funktion till dina 10 datapunkter så försök inte anpassa ett polynom av 9:e graden. Visst, det går perfekt genom alla dina datapunkter, men har ungefär noll prediktionsvärde eftersom det tenderar att svänga kraftigt och oförutsägbart.

Polynom av hög grad är dåliga på att förutsäga vad som händer utanför dina data

Skapa en lista med punkter

I GeoGebra kan du skapa punkterna på i huvudsak två olika sätt.

Antingen matar du in punkterna en och en, i koordinatform, till exempel som (2.3, 19.2). Därefter använder du verktyget Skapa lista och klickar och drar upp en rektangel runt punkterna vilket skapar listan. Listan heter i de flesta fall l1 (ett gement L följt av en etta).

Eller så matar du in x– och y-koordinaterna i kalkylbladet. Du visar kalkylbladet antingen med kortkommandot Ctrl-Shift-S eller från Visa-menyn. Markera sedan alla numeriska värden (alltså inte eventuella rubriker), högerklicka och välj Skapa… -> Lista med punkter.

I onlineversionen av GeoGebra (= Calculator Suite) finns inget regelrätt kalkylblad, men där finns tabeller istället som fungerar på liknande sätt bortsett från att punkterna visas automatiskt. Du får dock använda Skapa lista för att få listan.

Observera dock att verktyget Skapa lista inte syns i Calculator Suite förrän du klickar på Mer verktyg i botten av verktygslistan. Då finns verktyget under Punktverktygen.

Standardregressioner

GeoGebra har ett stort antal standardregressioner att välja mellan. Linjära funktioner y = kx + m, exponentialfunktioner y = C ax eller y = C ekx, potensfunktioner y = C xa, polynom av olika grad, logistiska, trigonometriska och andra funktioner.

Du kommer åt alla dessa genom att skiva kommandon av typen RegressionLin(l1), RegressionExp(l1) eller RegressionPoly(l1, 3). I det sista exemplet skapas ett tredjegradspolynom. En lista på alla tillgängliga kommandon får du när du börjar skriva Regre….

I Classicversionerna kan du också använda verktyget Tvåvariabels regressionsanalys som ger dig ett eget fönster där du snabbt kan prova olika standardregressioner för att se vilken som passar bäst.

Generella regressioner

Det finns dock situationer där standardfunktionerna inte räcker till. Exempelvis finns det gott om fysiklaborationer där du vill anpassa en rät linje direkt genom origo, alltså en funktion av typen y = kx.

I GeoGebra kan du då göra en regression där du själv anger typen av funktion som ska användas. Du använder då kommandot Regression(…) på något av de två möjliga sätten som beskrivs nedan.

Om funktionen kan delas upp i separata termer där parametrarna som ska anpassas bara är multiplikativa konstanter kan du ange dessa funktioner i en lista:

  • Regression(l1, {x}) ger en funktion av typen y = kx (y = ax)
  • Regression(l1, {1, x2}) ger en funktion av typen y = a + bx2
  • Regression(l1, {2x, x2}) ger en funktion av typen y = a2x + bx2
Att tvinga en rät linje genom origo kan förändra k-värdet en hel del

Om funktionen inte kan delas upp på det sättet, eller om parametrarna inte bara är multiplikativa konstanter så behöver du först definiera din modellfunktion tydligt med hjälp av glidare:

Definiera till exempel funktionen m(x) = c ax + b där a, b och c är oanvända bokstäver. Dessa kommer då att tolkas som glidare. I Classic 5 får du bekräfta detta i en popup-fönster. Du måste inte använda namnet m på funktionen men jag brukar göra det för att påminna mig om att det är min modellfunktion. m(x) ser troligen inte alls ut som något som passar dina datapunkter. Det är för att parametrarnas startvärden är långt ifrån rätt inställda. Vi ignorerar detta för tillfället och om du vill går det bra att dölja m(x). Den är bara till för att GeoGebra ska veta vad vi vill ha i nästa steg. Den här funktionstypen är för övrigt användbar då du undersöker avsvalning mot en rumstemperatur som är skild från noll.

Skriv sedan kommandot Regression(l1, m). Om allt går väl har nu GeoGebra skapat en funktion till dina datapunkter i listan l1 av typen m.

Det kan inträffa (särskilt för mer komplicerade funktioner och trigonometriska funktioner) att algoritmen som jobbar i bakgrunden misslyckas med att hitta en bra funktion. Då får du visa funktionen m(x) igen och ändra glidarna så att modellfunktionen åtminstone påminner om det du är ute efter. Dessa glidarvärden är startvärdena för algoritmen och bra startvärden kan få den att producera ett bättre resultat. För trigonometriska funktioner är parametern som styr frekvensen särskilt känslig.

Koefficienterna

Om du ska räkna vidare med koefficienterna, som ofta är fallet i fysiklaborationer, så kan det vara bra att känna till kommandot Koefficienter(f). Det genererar en lista med de anpassade parametrarna till funktionen f som kan vara antingen en regressionsfunktion, ett polynom eller ett kägelsnitt. Observera att dessa inte är i bokstavsordning i listan. Vill du använda en särskild parameter kan du döpa den genom att skriva t.ex. T0 = l2(1) (det vill säga det första elementet i listan l2).

Felgränser då?

Det skull vara fint att kunna ange felgränser för de beräknade parametrarna. Tyvärr finns inte denna funktion i GeoGebra men jag kommer i ett framtida inlägg beskriva hur du kan göra med hjälp av så kallad jackknife resampling eller genom att använda Python.

Mer om modellering

Tycker du det är kul att lösa problem som handlar om matematiska modeller? Då kanske boken Handbok för matematisk modellering med GeoGebra är något för dig.

GeoGebra för lärare: Grafritning med kontroll

I det här inlägget tittar vi på ett bortglömt kommando som låter dig rita en graf långsamt.

Att rita en graf ”för hand” (troligen använder du ju ändå en räknare, eller hur) låter eleven få se hur grafen växer fram. Det här momentet försvinner ju med moderna digitala hjälpmedel. Eller gör det det?

Åtminstone delar av detta går att simulera. Att skapa en värdetabell går lätt att göra i Classicversionernas kalkylblad eller i Calulator Suiteversionens funktionstabeller. Det går också att använda Classicversionernas funktionsinspektör (se sid 6-7 i det länkade dokumentet).

I funktionsinspektören (Classicversionerna) kan du göra värdetabeller

För själva ritandet finns det till stora delar bortglömda kommandot RitaLångsamt( <funktion> ). Vad kommandot gör är att det kopplar en animerad glidare till funktionen som då ritas ut bit för bit. Du kan styra hastigheten hos glidaren och pausa den när du vill.

I Calculator Suite kan du för funktionen välja Speciella punkter i menyn. Då ritas skärningspunkterna med axlarna samt extrempunkterna ut. I Classicversionerna får du själv skriva in kommandona Extrempunkt(f), Rot(f) eller Rötter(f) samt Skärning(f, yAxeln) för att få fram samma punkter.

Genom att på det här sättet dels visa eleverna hur funktionsdefinitionen leder till värden i tabellen som blir till punkter i grafen som sammanbinds till en funktion behöver ofta upprepas för varje ny funktionstyp som eleverna stöter på. En första introduktion vid räta linjens ekvation följs sen upp med en liknande demonstration då exponentialfunktioner introduceras och sedan i Ma2 för kvadratiska funktioner och i Ma3 polynom av högre grad. Det gör att eleverna bibehåller kopplingen mellan de konkreta numeriska värdena och de mer abstrakta graferna. Det kanske till och med gör att eleverna lättare kommer ihåg de få gånger de faktiskt fått rita grafer för hand.

GeoGebra för lärare: Hjälpresurser

I det tredje inlägget i serien GeoGebra för lärare tittar vi lite på alla de (tämligen omfattande) hjälpresurser som finns att tillgå för att lära sig (mer om) GeoGebra. Låt gärna eleverna ta del av denna information också.

Resurser på svenska

Webbplatsen geogebra.se utgör ett naturligt nav för alla svenska hjälpresurser. Här kan du hitta i princip allt om GeoGebra som finns att hitta på svenska, och hittar du något bra som saknas så meddela mig så lägger jag upp en länk dit så fort jag hinner. Just nu kan du på webbplatsen hitta bland annat:

  • Svensk support finns att tillgå primärt i Facebookgruppen GeoGebrasupport på svenska. Glöm inte att du kan söka efter gamla poster i FB-gruppen också. Det finns till exempel ganska många poster redan med frågor kring hur du löser differentialekvationer av olika slag.

Resurser på Engelska

Det internationella navet för all GeoGebraverksamhet är webbplatsen geogebra.org. Där kan du bland annat

  • Ladda ned de olika apparna
  • Hitta material av olika slag genom att söka direkt på webbsidan.
  • Pointers till olika ingångar till hjälpresurserna, till exempel länkar till Facebook, Twitter, manualer och introduktionsguider finns här och här.
  • För de som vill skapa mer avancerade konstruktioner rekommenderas The GeoGebra Builders Handbook som är en samling med ”kluriga knep” för att göra effektiva konstruktioner.

Och förstås, hittar du inte hjälp någon annanstans kan du alltid höra av dig till mig, Jonas Hall.