a <- 10
b <- 7
x <- rnorm(1000,25,1.5)
error <- rnorm(1000,5,5)

Persamaan Hiperbola

y <- 1/(a+(b*x))+error
plot(x,y)

Transformasinya kedua ruas di-ln-kan \([Y^*=ln(Y)]\) \([X^*=ln(X)]\)

y_tr <- log(y)
## Warning in log(y): NaNs produced
x_tr <- log(x)
data_tr <- data.frame(cbind(y_tr,x_tr))
head(data_tr)
##       y_tr     x_tr
## 1 1.984438 3.129067
## 2 2.588384 3.159530
## 3      NaN 3.071840
## 4 1.450330 3.273102
## 5 2.002010 3.126088
## 6 1.649458 3.189201
plot(x_tr,y_tr)

model_tr <- lm(y_tr~x_tr, data_tr)
summary(model_tr)
## 
## Call:
## lm(formula = y_tr ~ x_tr, data = data_tr)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -5.1174 -0.4065  0.2150  0.6208  1.4558 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)
## (Intercept)   2.2523     1.6602   1.357    0.175
## x_tr         -0.2012     0.5160  -0.390    0.697
## 
## Residual standard error: 0.8783 on 819 degrees of freedom
##   (179 observations deleted due to missingness)
## Multiple R-squared:  0.0001856,  Adjusted R-squared:  -0.001035 
## F-statistic: 0.1521 on 1 and 819 DF,  p-value: 0.6967

Implikasi dari transformasi kedua ruas, maka \(\beta_0=ln(a)\) dan \(\beta_1=b\)

b0 <- model_tr$coefficients[[1]]
b1 <- model_tr$coefficients[[2]]
b0; b1
## [1] 2.2523
## [1] -0.2012246

Mengecek apakah nilai \(a\) hasil transformasi balik sudah sesuai dengan nilai \(a\) yang asli. Karena \(\beta_0=ln(a)\), maka \(a=e^{\beta_0}\)

(a_duga <- exp(b0))
## [1] 9.509583