Jak korzystać z funkcji confit() w r
Funkcji confint() w języku R można użyć do obliczenia przedziału ufności dla jednego lub większej liczby parametrów w dopasowanym modelu regresji.
Ta funkcja wykorzystuje następującą podstawową składnię:
confint(obiekt, parametr, poziom=0,95)
Złoto:
- obiekt : nazwa dopasowanego modelu regresji
- parm : Parametry, dla których ma zostać obliczony przedział ufności (wartość domyślna to wszystkie)
- poziom : poziom zaufania do użycia (wartość domyślna to 0,95)
Poniższy przykład pokazuje, jak w praktyce wykorzystać tę funkcję.
Przykład: Jak używać funkcji confit() w R
Załóżmy, że mamy następującą ramkę danych w języku R, która pokazuje liczbę godzin spędzonych na nauce, liczbę zdanych egzaminów praktycznych i końcowy wynik egzaminu 10 uczniów w klasie:
#create data frame df <- data. frame (score=c(77, 79, 84, 85, 88, 99, 95, 90, 92, 94), hours=c(1, 1, 2, 3, 2, 4, 4, 2, 3, 3), prac_exams=c(2, 3, 3, 2, 4, 5, 4, 3, 5, 4)) #view data frame df score hours prac_exams 1 77 1 2 2 79 1 3 3 84 2 3 4 85 3 2 5 88 2 4 6 99 4 5 7 95 4 4 8 90 2 3 9 92 3 5 10 94 3 4
Załóżmy teraz, że chcemy dopasować następujący model regresji liniowej w R:
Wynik egzaminu = β 0 + β 1 (godziny) + β 2 (egzamin praktyczny)
Możemy użyć funkcji lm(), aby dostosować ten model:
#fit multiple linear regression model fit <- lm(score ~ hours + prac_exams, data=df) #view summary of model summary(fit) Call: lm(formula = score ~ hours + prac_exams, data = df) Residuals: Min 1Q Median 3Q Max -2.4324 -1.2632 -0.8956 0.4316 5.1412 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 68.4029 2.8723 23.815 5.85e-08 *** hours 4.1912 0.9961 4.207 0.0040 ** prac_exams 2.6912 0.9961 2.702 0.0306 * --- Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 Residual standard error: 2.535 on 7 degrees of freedom Multiple R-squared: 0.9005, Adjusted R-squared: 0.8721 F-statistic: 31.68 on 2 and 7 DF, p-value: 0.0003107
Należy zauważyć, że podsumowanie modelu wyświetla dopasowane współczynniki regresji:
- Przecięcie = 68,4029
- godziny = 4,1912
- praca_egzamin = 2,6912
Aby uzyskać 95% przedział ufności dla każdego z tych współczynników, możemy użyć funkcji confint() :
#calculate 95% confidence interval for each coefficient in model
confined(fit)
2.5% 97.5%
(Intercept) 61.6111102 75.194772
hours 1.8357237 6.546629
prac_exams 0.3357237 5.046629
Wskazano 95% przedział ufności dla każdego parametru:
- 95% CI dla przecięcia = [61,61; 75,19]
- 95% CI dla godzin = [1,84; 6,55]
- 95% CI dla prac_egzaminów = [0,34, 5,05]
Aby obliczyć 99% przedział ufności, wystarczy zmienić wartość argumentu poziomu :
#calculate 99% confidence interval for each coefficient in model confint(fit, level= 0.99 ) 0.5% 99.5% (Intercept) 58.3514926 78.454390 hours 0.7052664 7.677087 prac_exams -0.7947336 6.177087
Aby obliczyć tylko przedział ufności dla określonego parametru, po prostu określ współczynnik za pomocą argumentu parm :
#calculate 99% confidence interval for hours confint(fit, parm=' hours ', level= 0.99 ) 0.5% 99.5% hours 0.7052664 7.677087
Należy zauważyć, że 99% przedział ufności jest pokazany tylko dla zmiennej godzin.
Dodatkowe zasoby
Poniższe samouczki zawierają dodatkowe informacje na temat regresji liniowej w języku R:
Jak interpretować wynik regresji w R
Jak wykonać prostą regresję liniową w R
Jak wykonać wielokrotną regresję liniową w R
Jak przeprowadzić regresję logistyczną w R