Regressionsmodeller er fundamentale værktøjer inden for dataanalyse, der anvendes til at forstå og modellere forholdet mellem en afhængig variabel og en eller flere uafhængige variabler. I Regression Learner App i MATLAB® har man mulighed for både at træne modeller og evaluere deres effektivitet, hvilket gør det muligt at få indsigt i, hvordan de forskellige inputvariabler påvirker de ønskede outputvariabler.
Når man træner en model i Regression Learner, opdeles processen i to hovedkomponenter: den validerede model og den fulde model. Den validerede model trænes med et valideringsskema, hvor appen som standard anvender krydsvalidering for at beskytte mod overfitting. Dette gør det muligt at få en idé om, hvordan modellen vil præstere på nye, usete data. Alternativt kan man vælge holdout-validering, hvor en del af dataene holdes tilbage og ikke bruges under træningen. Den fulde model trænes derimod på hele datasættet, undtagen testdataene, og den bruges til at generere den endelige model.
Regressionsalgoritmer benytter statistiske metoder til at finde sammenhænge mellem variabler. En af de mest anvendte og forståelige regressionsmetoder er lineær regression. Denne metode etablerer en lineær relation mellem to variabler, ofte en input- og en outputvariabel, ved at finde den bedste lige linje, der tilpasser sig dataene. Denne linje beskrives ved hældningen, der viser, hvordan ændringer i en variabel påvirker den anden, samt skæringspunktet med y-aksen, som viser værdien af den afhængige variabel, når den uafhængige variabel er nul.
For at illustrere, hvordan lineær regression kan anvendes i praksis, kan man tage et eksempel som forudsigelsen af trafikulykker i en bestemt stat baseret på befolkningstallet i den stat. Denne relation mellem ulykkesantal og befolkning forventes at være lineær, hvilket gør lineær regression til et naturligt valg. Ved at bruge et dataset, der indeholder informationer om trafikulykker i USA, kan man anvende lineær regression til at modellere forholdet mellem de to variabler. For at finde den bedste tilpasning af linjen anvendes metoden "mindste kvadraters metode", som minimerer summen af de kvadrerede fejl mellem de observerede data og de forudsigelser, modellen laver.
Et vigtigt aspekt af regression er, hvordan man evaluerer modellen. En almindelig evalueringsmetode er at beregne R2-koefficienten, også kaldet determinationskoefficienten, som viser, hvor godt modellen forklarer variationen i de afhængige data. En R2-værdi tæt på 1 betyder, at modellen er en god pasform, mens en lav R2-værdi indikerer, at modellen ikke fanger de væsentlige sammenhænge i dataene.
I eksemplet med trafikulykker og befolkningstal er det muligt at bruge MATLAB's Regression Learner App til at udføre de nødvendige beregninger. Her hentes data fra et dataset kaldet "accidents", som indeholder information om trafikulykker i USA i 2004. Efter at have indlæst dataene, bruges variablerne til at beregne hældningen (β1) og eventuelt skæringspunktet (β0) for den lineære model. Det er også muligt at plotte dataene og den estimerede regression, så man visuelt kan vurdere, hvordan godt modellen passer til de faktiske data.
Det er vigtigt at bemærke, at lineær regression, selvom den er nyttig, ikke altid giver en perfekt model. Der vil altid være en vis fejlmargin, som kan variere afhængigt af dataenes natur. For at håndtere denne usikkerhed er det muligt at tilføje et y-intercept (β0) til modellen, hvilket giver en mere præcis tilpasning af linjen til dataene. Denne tilgang, hvor man inkluderer både hældningen og y-interceptet, kan give en mere realistisk model, selvom der stadig kan være nogle afvigelser i regressionens resultater.
For at afbilde den oprindelige og den forbedrede regressionslinje, kan man bruge MATLAB til at oprette plot, der sammenligner de to modeller. Dette hjælper med at visualisere, hvordan tilføjelsen af y-interceptet forbedrer tilpasningen af linjen. Det er også muligt at bruge fejldiagrammer for at forstå, hvor og hvornår modellen fejler, hvilket kan give indikationer om, hvordan modellen kan forbedres eller justeres.
Når man arbejder med lineær regression, er det vigtigt at forstå, at denne teknik forudsætter en lineær sammenhæng mellem variablerne. Hvis dataene viser sig at have en ikke-lineær relation, vil andre regressionsmetoder, såsom polynomiel regression, være mere passende. Desuden kan andre faktorer som multikollinearitet (hvor to eller flere uafhængige variabler er stærkt korrelerede) også påvirke modelkvaliteten.
En yderligere vigtig bemærkning ved brug af lineær regression er, at det ikke nødvendigvis er den endelige løsning. Ofte er det nødvendigt at bruge flere forskellige modeller og teknikker for at sikre, at man får den bedste og mest præcise prediktion. Det kan være værdifuldt at kombinere regressionsmodeller med andre machine learning-algoritmer og evalueringsteknikker for at opnå et mere robust resultat.
Hvordan man bruger funktionerne regress() og fitlm() til at modellere multiple lineær regression i MATLAB
I mange applikationer, hvor man skal forudsige en afhængig variabel baseret på flere uafhængige faktorer, er multiple lineær regression en uundværlig teknik. Denne metode gør det muligt at analysere forholdet mellem én afhængig variabel og to eller flere uafhængige variabler. MATLAB tilbyder flere funktioner til at udføre multiple lineær regression, herunder regress() og fitlm(). I denne sektion vil vi se nærmere på, hvordan disse funktioner anvendes i et projekt om skovbrandforudsigelse og diskutere forskellene mellem dem.
I et praktisk eksempel vil vi bruge datasettene for skovbrande til at forudsige Brandforhold Indeks (FWI) baseret på miljøforhold som FFMC (Fine Fuel Moisture Code), DMC (Duff Moisture Code), temperatur og vind. Det første skridt er at vælge de relevante data og derefter anvende regressionsmodellerne for at estimere brandens intensitet under forskellige forhold.
Brug af regress()-funktionen
Den første funktion, vi ser på, er regress(). Denne funktion er simpel og effektiv til at udføre multiple lineær regression. For at anvende denne funktion skal vi først indlæse vores dataset. I MATLAB kan vi gøre dette med koden:
Denne kode begynder med at indlæse datasettene og derefter vælge de relevante variabler for de uafhængige faktorer. Vi opretter en designmatrix X, hvor den første kolonne består af 1'ere (interceptet). Derefter kører vi regress()-funktionen, som returnerer estimaterne for koefficienterne samt statistiske oplysninger som residualer og p-værdier. Resultatet vil give en regressionsmodel, der kan bruges til at forudsige FWI ud fra de uafhængige faktorer.
Koden genererer en output, der kan tolkes som en estimeret ligning af formen:
Værdien af R2 (0.6124) indikerer, at modellen forklarer omkring 61% af variationen i den afhængige variabel, hvilket er en god indikation af modellens præcision.
Brug af fitlm()-funktionen
En anden funktion, der bruges i MATLAB, er fitlm(). Denne funktion giver en mere avanceret tilgang til lineær regression og tilbyder flere muligheder for diagnostik og visualisering. Her er et eksempel på, hvordan fitlm() kan anvendes i vores projekt:
Som vi kan se, ligner den indledende del af koden den forrige anvendelse af regress(). Dog opretter vi her et lineært regressionsmodelobjekt (f_mdl) og kører modellen med fitlm(). Denne funktion giver os en række nyttige statistikker om modelens ydeevne, såsom R2-værdien, justeret R2-værdi og F-statistik. Det er også muligt at visualisere modellen med en graf, som kan hjælpe med at få et hurtigt indtryk af, hvordan de uafhængige variabler relaterer sig til den afhængige variabel.
Resultatet af fitlm() vil give os en regressionsmodel, som kan skrives på følgende måde:
Outputtet indeholder også vigtige statistiske oplysninger som p-værdier og t-værdier, som hjælper med at vurdere de enkelte variablers betydning i modellen.
Sammenligning af regress() og fitlm()
Forskellen mellem regress() og fitlm() ligger primært i funktionens kompleksitet og de statistiske værktøjer, de tilbyder. regress() er lettere at bruge og mere direkte i sin tilgang, mens fitlm() giver en mere detaljeret model med flere muligheder for diagnostik. For større datasæt eller mere komplekse modeller, hvor man ønsker en omfattende statistisk analyse, vil fitlm() være det foretrukne valg. På den anden side kan regress() være tilstrækkelig for enklere projekter eller når hurtige resultater er nødvendige.
Vigtige overvejelser
Når man arbejder med multiple lineær regression, er der flere ting, man bør være opmærksom på. For det første skal man sikre sig, at dataene er passende for regressionen. Det betyder, at de uafhængige variabler ikke bør være for stærkt korrelerede, da dette kan føre til multikollinearitet, som forvrænger resultaterne. Derudover er det vigtigt at kontrollere for outliers, som kan have en uforholdsmæssig stor effekt på modellen.
Endvidere bør man ikke kun stole på R2-værdien som et mål for modellens præstation. Justeret R2 og p-værdier for de enkelte koefficienter er også vigtige for at forstå, hvordan hver uafhængig variabel bidrager til modellen. Hvis p-værdien for en variabel er høj, kan det indikere, at variabelen ikke har en signifikant effekt på den afhængige variabel, og det kan være værd at overveje at udelade den fra modellen.

Deutsch
Francais
Nederlands
Svenska
Norsk
Dansk
Suomi
Espanol
Italiano
Portugues
Magyar
Polski
Cestina
Русский