# Data
year <- c(1980, 1981, 1982, 1983, 1984, 1985, 1986, 1987, 1988, 1989,
1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019,
2020, 2021, 2022, 2023)
productivity <- c(4169.442, 3951.818, 3502.381, 3750.342, 3528.127, 3344.306,
3815.466, 4041.731, 3812.039, 3869.066, 3858.184, 3824.65,
3853.345, 3824.334, 3947.745, 3921.171, 3961.818, 3661.605,
4460.42, 4716.56, 4398.982, 4334.105, 4970.317, 5195.834,
4964.834, 5101.404, 5212.358, 5220.077, 5389.627, 5391.495,
5675.321, 5176.68, 5595.152, 5443.138, 5232.585, 5198.858,
5325.21, 5796.57, 5819.193, 5863.358, 2305.98, 3483.08,
6012.53, 5967.92)
temperature <- c(26, 26.6, 26.4, 26.7, 26.1, 26.3, 26.3, 26.6, 26.5, 26.4,
26.6, 26.4, 26.5, 26.5, 26.4, 26.6, 26.5, 26.6, 27.1, 26.4,
26.5, 26.7, 26.9, 26.8, 26.8, 26.9, 26.8, 26.8, 26.6, 27.0,
27.1, 26.8, 26.9, 27.0, 27.0, 27.1, 27.4, 27.0, 27.1, 27.2,
27.0, 27.3, 27.0, 27.1)
rainfall <- c(80.4, 78.3, 77.8, 78.6, 75.8, 78.4, 81.0, 79.7, 81.1, 79.3,
79.3, 79.8, 78.2, 76.6, 81.5, 78.2, 75.4, 76.4, 74.2, 80.4,
81.2, 82.5, 80.2, 75.9, 79.2, 81.0, 80.9, 81.2, 30.5, 80.3,
50.8, 60.2, 83.2, 50.5, 70.6, 70.9, 90.4, 80.6, 81.3, 90.9,
72.2, 70.6, 30.5, 80.3)
# Membuat dataframe
datafarm <- data.frame(year, productivity, temperature, rainfall)
print(datafarm)
## year productivity temperature rainfall
## 1 1980 4169.442 26.0 80.4
## 2 1981 3951.818 26.6 78.3
## 3 1982 3502.381 26.4 77.8
## 4 1983 3750.342 26.7 78.6
## 5 1984 3528.127 26.1 75.8
## 6 1985 3344.306 26.3 78.4
## 7 1986 3815.466 26.3 81.0
## 8 1987 4041.731 26.6 79.7
## 9 1988 3812.039 26.5 81.1
## 10 1989 3869.066 26.4 79.3
## 11 1990 3858.184 26.6 79.3
## 12 1991 3824.650 26.4 79.8
## 13 1992 3853.345 26.5 78.2
## 14 1993 3824.334 26.5 76.6
## 15 1994 3947.745 26.4 81.5
## 16 1995 3921.171 26.6 78.2
## 17 1996 3961.818 26.5 75.4
## 18 1997 3661.605 26.6 76.4
## 19 1998 4460.420 27.1 74.2
## 20 1999 4716.560 26.4 80.4
## 21 2000 4398.982 26.5 81.2
## 22 2001 4334.105 26.7 82.5
## 23 2002 4970.317 26.9 80.2
## 24 2003 5195.834 26.8 75.9
## 25 2004 4964.834 26.8 79.2
## 26 2005 5101.404 26.9 81.0
## 27 2006 5212.358 26.8 80.9
## 28 2007 5220.077 26.8 81.2
## 29 2008 5389.627 26.6 30.5
## 30 2009 5391.495 27.0 80.3
## 31 2010 5675.321 27.1 50.8
## 32 2011 5176.680 26.8 60.2
## 33 2012 5595.152 26.9 83.2
## 34 2013 5443.138 27.0 50.5
## 35 2014 5232.585 27.0 70.6
## 36 2015 5198.858 27.1 70.9
## 37 2016 5325.210 27.4 90.4
## 38 2017 5796.570 27.0 80.6
## 39 2018 5819.193 27.1 81.3
## 40 2019 5863.358 27.2 90.9
## 41 2020 2305.980 27.0 72.2
## 42 2021 3483.080 27.3 70.6
## 43 2022 6012.530 27.0 30.5
## 44 2023 5967.920 27.1 80.3
library(SciViews)
lnproductivity = ln(datafarm$productivity)
lntemperature = ln(datafarm$temperature)
lnrainfall = ln(datafarm$rainfall)
datafarmnew = data.frame(year, lnproductivity, lntemperature, lnrainfall)
datafarmnew
## year lnproductivity lntemperature lnrainfall
## 1 1980 8.335537 3.258097 4.387014
## 2 1981 8.281931 3.280911 4.360548
## 3 1982 8.161198 3.273364 4.354141
## 4 1983 8.229602 3.284664 4.364372
## 5 1984 8.168522 3.261935 4.328098
## 6 1985 8.115014 3.269569 4.361824
## 7 1986 8.246818 3.269569 4.394449
## 8 1987 8.304428 3.280911 4.378270
## 9 1988 8.245919 3.277145 4.395683
## 10 1989 8.260768 3.273364 4.373238
## 11 1990 8.257952 3.280911 4.373238
## 12 1991 8.249222 3.273364 4.379524
## 13 1992 8.256697 3.277145 4.359270
## 14 1993 8.249140 3.277145 4.338597
## 15 1994 8.280900 3.273364 4.400603
## 16 1995 8.274146 3.280911 4.359270
## 17 1996 8.284458 3.277145 4.322807
## 18 1997 8.205657 3.280911 4.335983
## 19 1998 8.402998 3.299534 4.306764
## 20 1999 8.458835 3.273364 4.387014
## 21 2000 8.389128 3.277145 4.396915
## 22 2001 8.374270 3.284664 4.412798
## 23 2002 8.511239 3.292126 4.384524
## 24 2003 8.555612 3.288402 4.329417
## 25 2004 8.510135 3.288402 4.371976
## 26 2005 8.537271 3.292126 4.394449
## 27 2006 8.558788 3.288402 4.393214
## 28 2007 8.560267 3.288402 4.396915
## 29 2008 8.592231 3.280911 3.417727
## 30 2009 8.592578 3.295837 4.385770
## 31 2010 8.643882 3.299534 3.927896
## 32 2011 8.551919 3.288402 4.097672
## 33 2012 8.629656 3.292126 4.421247
## 34 2013 8.602111 3.295837 3.921973
## 35 2014 8.562661 3.295837 4.257030
## 36 2015 8.556194 3.299534 4.261270
## 37 2016 8.580207 3.310543 4.504244
## 38 2017 8.665022 3.295837 4.389499
## 39 2018 8.668917 3.299534 4.398146
## 40 2019 8.676478 3.303217 4.509760
## 41 2020 7.743261 3.295837 4.279440
## 42 2021 8.155672 3.306887 4.257030
## 43 2022 8.701601 3.295837 3.417727
## 44 2023 8.694154 3.299534 4.385770
library(SciViews)
modelfarm <- lm(ln(productivity) ~ ln(rainfall) + ln(temperature), data = datafarm)
summary(modelfarm)
##
## Call:
## lm(formula = ln(productivity) ~ ln(rainfall) + ln(temperature),
## data = datafarm)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.75263 -0.06896 0.01269 0.09988 0.19079
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -19.1642 7.4161 -2.584 0.013422 *
## ln(rainfall) -0.1766 0.1194 -1.479 0.146726
## ln(temperature) 8.6217 2.2311 3.864 0.000389 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.1744 on 41 degrees of freedom
## Multiple R-squared: 0.3161, Adjusted R-squared: 0.2827
## F-statistic: 9.473 on 2 and 41 DF, p-value: 0.0004149
persamaan nya adalah \[ ln(Y) = -19.164 + 8.622 ln(Temperature) - 0.1766 ln(Rainfall) \]
Dengan nilai R-squared sebesar 28.27% namun secara parameter sudah signifikan
# Menghitung rata-rata suhu
rata_rata_suhu <- mean(datafarmnew$lntemperature)
# Menghitung rata-rata curah hujan
rata_rata_curah_hujan <- mean(datafarmnew$lnrainfall)
# Menampilkan hasil
print(paste("Rata-rata suhu:", rata_rata_suhu))
## [1] "Rata-rata suhu: 3.28586892485743"
print(paste("Rata-rata curah hujan:", rata_rata_curah_hujan))
## [1] "Rata-rata curah hujan: 4.29938900569327"
print(paste("𝝁𝑮 =", "𝒂+ 𝜷𝟏𝝁𝟏 + 𝜷𝟐𝝁𝟐"))
## [1] "𝝁𝑮 = 𝒂+ 𝜷𝟏𝝁𝟏 + 𝜷𝟐𝝁𝟐"
print(paste("𝝁𝑮 =", " -19.164 + 8.622 (3.2858) - 0.1766(4.299)"))
## [1] "𝝁𝑮 = -19.164 + 8.622 (3.2858) - 0.1766(4.299)"
a = -19.164 + 8.622*3.2858 - 0.176*4.299
a
## [1] 8.409544
exp(a)
## [1] 4489.711
mean(predict(modelfarm, type = "response"))
## [1] 8.406432
Ekspektasi Produksi menggunakan Model Linear adalah 4485.287
# Menghitung variansi dari kolom Suhu
variansi_suhu <- var(datafarm$temperature)
# Menghitung variansi dari kolom Curah_Hujan
variansi_curah_hujan <- var(datafarm$rainfall)
variansi_gabungan = cov(datafarm$temperature, datafarm$rainfall)
# Menampilkan hasil
print(paste("Variansi Suhu:", variansi_suhu))
## [1] "Variansi Suhu: 0.103229386892178"
print(paste("Variansi Curah Hujan:", variansi_curah_hujan))
## [1] "Variansi Curah Hujan: 155.51971987315"
print(paste('Variansi Gabungan:', variansi_gabungan))
## [1] "Variansi Gabungan: -0.523134249471463"
variance_value = (((8.622)^2 *0.1032) + ((-0.1766)^2 * 155.52) + (2*(8.622*(-0.1766))*(-0.523)) + 0.01)
variance_value
## [1] 14.12475
Premi1 <- (1+0.01)*exp(a)
Premi2 <- (1+0.02)*exp(a)
Premi3 <- (1+0.03)*exp(a)
Premi4 <- (1+0.04)*exp(a)
Premi5 <- (1+0.05)*exp(a)
Premi6 <- (1+0.06)*exp(a)
Premi7 <- (1+0.07)*exp(a)
Premi8 <- (1+0.08)*exp(a)
Premi9 <- (1+0.09)*exp(a)
Premi10 <- (1+0.1)*exp(a)
Premi <- c(Premi1, Premi2, Premi3, Premi4, Premi5, Premi6, Premi7, Premi8, Premi9, Premi10)
LF <- c(0.01, 0.02, 0.03, 0.04, 0.05, 0.06, 0.07, 0.08, 0.09, 0.1)
Datax <- data.frame(Loading_Faktor = LF,
Premi = Premi)
Datax
## Loading_Faktor Premi
## 1 0.01 4534.608
## 2 0.02 4579.505
## 3 0.03 4624.402
## 4 0.04 4669.299
## 5 0.05 4714.196
## 6 0.06 4759.094
## 7 0.07 4803.991
## 8 0.08 4848.888
## 9 0.09 4893.785
## 10 0.10 4938.682
UP <- 1
Premi11 <- ((0.01)* sqrt((variance_value)) +exp(a))*UP
Premi22 <- ((0.02)* sqrt((variance_value)) +exp(a))*UP
Premi33 <- ((0.03)* sqrt((variance_value)) +exp(a))*UP
Premi44 <- ((0.04)* sqrt((variance_value)) +exp(a))*UP
Premi55 <- ((0.05)* sqrt((variance_value)) +exp(a))*UP
Premi66 <- ((0.06)* sqrt((variance_value)) +exp(a))*UP
Premi77 <- ((0.07)* sqrt((variance_value)) +exp(a))*UP
Premi88 <- ((0.08)* sqrt((variance_value)) +exp(a))*UP
Premi99 <- ((0.09)* sqrt((variance_value)) +exp(a))*UP
Premi1010 <-((0.1)* sqrt((variance_value)) + exp(a))*UP
Datax$Premi_StDev = c(Premi11, Premi22, Premi33, Premi44, Premi55, Premi66, Premi77, Premi88, Premi99, Premi1010)
Datax
## Loading_Faktor Premi Premi_StDev
## 1 0.01 4534.608 4489.749
## 2 0.02 4579.505 4489.786
## 3 0.03 4624.402 4489.824
## 4 0.04 4669.299 4489.861
## 5 0.05 4714.196 4489.899
## 6 0.06 4759.094 4489.936
## 7 0.07 4803.991 4489.974
## 8 0.08 4848.888 4490.012
## 9 0.09 4893.785 4490.049
## 10 0.10 4938.682 4490.087
library(plotly)
## Loading required package: ggplot2
##
## Attaching package: 'plotly'
## The following object is masked from 'package:ggplot2':
##
## last_plot
## The following object is masked from 'package:stats':
##
## filter
## The following object is masked from 'package:graphics':
##
## layout
plot_ly(x = Datax$Loading_Faktor, y = Datax$Premi, type = 'scatter', mode = 'lines', name = 'Premi LF') %>%
add_trace( x = Datax$Loading_Faktor , y = Datax$Premi_StDev , mode = 'lines', name = 'Premi StaDev') %>%
layout(title = 'Actual vs. ARIMA Forecast',
xaxis = list(title = 'Loading Faktor'),
yaxis = list(title = 'Premi'))
curah_hujan = exp(datafarmnew$lnrainfall)
suhu = exp(datafarmnew$lntemperature)
Produktivitas = exp((-19.164 + 8.622*(datafarmnew$lntemperature) - 0.176*(lntemperature)))
fig <- plot_ly(x = ~curah_hujan, y = ~suhu, z = ~Produktivitas , type = 'scatter3d', mode = 'lines',name = 'Coub Douglass Model' , line = list(width = 4, color = ~c, colorscale = list(c(0,'#FA52EB'), c(1,'#ADB240')))) %>%
layout(title = '3d Plot on Coub-Douglas Model',
xaxis = list(title = 'ln Curah Hujan'),
yaxis = list(title = 'ln Suhu'),
zaxis = list(title = 'ln Produktivitas' ))
fig
## Warning: 'layout' objects don't have these attributes: 'zaxis'
## Valid attributes include:
## '_deprecated', 'activeshape', 'annotations', 'autosize', 'autotypenumbers', 'calendar', 'clickmode', 'coloraxis', 'colorscale', 'colorway', 'computed', 'datarevision', 'dragmode', 'editrevision', 'editType', 'font', 'geo', 'grid', 'height', 'hidesources', 'hoverdistance', 'hoverlabel', 'hovermode', 'images', 'legend', 'mapbox', 'margin', 'meta', 'metasrc', 'modebar', 'newshape', 'paper_bgcolor', 'plot_bgcolor', 'polar', 'scene', 'selectdirection', 'selectionrevision', 'separators', 'shapes', 'showlegend', 'sliders', 'smith', 'spikedistance', 'template', 'ternary', 'title', 'transition', 'uirevision', 'uniformtext', 'updatemenus', 'width', 'xaxis', 'yaxis', 'barmode', 'bargap', 'mapType'