logo

Hoe de lm()-functie in R te gebruiken om lineaire modellen te passen?

In dit artikel zullen we leren hoe we de functie lm() kunnen gebruiken om lineaire modellen in de programmeertaal R te passen.

Een lineair model wordt gebruikt om de waarde van een onbekende variabele te voorspellen op basis van onafhankelijke variabelen. Het wordt meestal gebruikt om de relatie tussen variabelen en prognoses te achterhalen. De functie lm() wordt gebruikt om lineaire modellen aan te passen aan dataframes in de R-taal. Het kan worden gebruikt voor het uitvoeren van regressie, variantieanalyse van één stratum en analyse van covariantie om de waarde te voorspellen die overeenkomt met gegevens die zich niet in het dataframe bevinden. Deze zijn zeer nuttig bij het voorspellen van de prijs van onroerend goed, weersvoorspellingen, enz.



Om een ​​lineair model in de R-taal te passen met behulp van de lm() function gebruiken we eerst de functie data.frame() om een ​​voorbeeldgegevensframe te maken dat waarden bevat die op een lineair model moeten worden aangepast met behulp van de regressiefunctie. Vervolgens gebruiken we de functie lm() om een ​​bepaalde functie in een bepaald dataframe te passen.

Syntaxis:

lm( passende_formule, dataframe )



Parameter:

    fitting_formula: bepaalt de formule voor het lineaire model. dataframe: bepaalt de naam van het dataframe dat de gegevens bevat.

Vervolgens kunnen we de functie summary() gebruiken om de samenvatting van het lineaire model te bekijken. De functie summary() interpreteert de belangrijkste statistische waarden voor de analyse van het lineaire model.

... op Java

Syntaxis:



samenvatting( lineair_model )

De samenvatting bevat de volgende belangrijke informatie:

    Residuele standaardfout: bepaalt de standaardafwijking van de fout waarbij de vierkantswortel van de variantie n min 1 + # van de betrokken variabelen aftrekt in plaats van te delen door n-1. Meerdere R-kwadraat: bepaalt hoe goed uw model bij de gegevens past. Aangepaste R-kwadraat: normaliseert meerdere R-kwadraat door rekening te houden met het aantal steekproeven dat u heeft en het aantal variabelen dat u gebruikt. F-Statistiek: is een globale test die controleert of ten minste één van uw coëfficiënten niet nul is.

Voorbeeld: Voorbeeld om het gebruik van de functie lm() te tonen.

R




# sample data frame> df <->data.frame>( x=>c>(1,2,3,4,5),> >y=>c>(1,5,8,15,26))> > # fit linear model> linear_model <->lm>(y ~ x^2, data=df)> > # view summary of linear model> summary>(linear_model)>

>

>

Uitgang:

Telefoongesprek:

lm(formule = y ~ x^2, gegevens = df)

Residuen:

1 2 3 4 5

2.000e+00 5.329e-15 -3.000e+00 -2.000e+00 3.000e+00

Coëfficiënten:

Schatting Std. Fout t-waarde Pr(>|t|)

(Onderschepping) -7,0000 3,0876 -2,267 0,10821

x 6,0000 0,9309 6,445 0,00757 **

Significant. codes: 0 ‘***’ 0,001 ‘**’ 0,01 ‘*’ 0,05 ‘.’ 0,1 ‘ ’ 1

Resterende standaardfout: 2,944 op 3 vrijheidsgraden

Meerdere R-kwadraat: 0,9326, aangepast R-kwadraat: 0,9102

F-statistiek: 41,54 op 1 en 3 DF, p-waarde: 0,007575

Diagnostische plots

De diagnostische grafieken helpen ons de relatie tussen verschillende statistische waarden van het model te bekijken. Het helpt ons bij het analyseren van de omvang van uitschieters en de efficiëntie van het gepaste model. Om diagnostische plots van een lineair model te bekijken, gebruiken we de functie plot() in de R-taal.

Syntaxis:

plot( lineair_model )

Voorbeeld: Diagnostische plots voor het hierboven ingerichte lineaire model.

R




# sample data frame> df <->data.frame>( x=>c>(1,2,3,4,5),> >y=>c>(1,5,8,15,26))> > # fit linear model> linear_model <->lm>(y ~ x^2, data=df)> > # view diagnostic plot> plot>(linear_model)>

>

>

Uitgang:

Lineair model plotten

We kunnen het bovenstaande gepaste lineaire model plotten om het goed te visualiseren met behulp van de abline() methode. We tekenen eerst een spreidingsdiagram van gegevenspunten en leggen deze vervolgens over een abline-plot van het lineaire model met behulp van de functie abline().

Syntaxis:

plot( df$x, df$y)

constructeurs in Java

abline( Lineair_model )

Voorbeeld: Lineair model plotten

R




tekenreeks naar int
# sample data frame> df <->data.frame>( x=>c>(1,2,3,4,5),> >y=>c>(1,5,8,15,26))> > # fit linear model> linear_model <->lm>(y ~ x^2, data=df)> > # Plot abline plot> plot>( df$x, df$y )> abline>( linear_model)>

>

>

Uitgang:

Voorspel waarden voor onbekende gegevenspunten met behulp van het aangepaste model

Om waarden voor nieuwe invoer te voorspellen met behulp van het bovenstaande gepaste lineaire model, gebruiken we de functie voorspellen(). De functie voorspellen() neemt het model en het dataframe met onbekende datapunten en voorspelt de waarde voor elk datapunt volgens het aangepaste model.

Syntaxis:

voorspellen(model, gegevens)

Parameter:

    model: bepaalt het lineaire model. data: bepaalt het dataframe met onbekende datapunten.

Voorbeeld: Nieuwe inputs voorspellen

R




# sample data frame> df <->data.frame>( x=>c>(1,2,3,4,5),> >y=>c>(1,5,8,15,26))> > # fit linear model> linear_model <->lm>(y ~ x^2, data=df)> > # Predict values> predict>( linear_model, newdata =>data.frame>(x=>c>(15,16,17)) )>

>

>

Uitgang:

1 2 3 83 89 95>