#MEMANGGIL LIBRARY YANG DIGUNAKAN#
library(lmtest)
## Loading required package: zoo
##
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
##
## as.Date, as.Date.numeric
library(MASS)
library(car)
## Loading required package: carData
library(pastecs)
library(pracma)
##
## Attaching package: 'pracma'
## The following object is masked from 'package:car':
##
## logit
library(Matrix)
##
## Attaching package: 'Matrix'
## The following objects are masked from 'package:pracma':
##
## expm, lu, tril, triu
#MEMANGGIL DATA#
data=read.table(file.choose(), header=TRUE)
data
## X1 X2 X3 X4 X5 X6 Y
## 1 12.10 34.05 8.50 2.22 64.81 40.2 73.84
## 2 12.45 44.19 10.13 2.20 68.65 32.9 76.87
## 3 13.39 38.66 8.99 1.68 69.07 29.7 77.19
## 4 14.38 26.30 10.04 2.16 69.18 23.6 69.08
## 5 17.86 23.36 10.27 1.46 68.34 33.4 78.27
## 6 13.38 10.06 10.87 1.38 70.14 30.1 84.72
## 7 18.78 31.46 9.29 0.70 67.29 29.5 76.69
## 8 16.64 37.08 9.37 0.56 69.15 25.2 77.12
## 9 17.92 17.76 9.91 1.68 65.61 30.7 77.54
## 10 19.15 40.31 9.02 1.74 67.78 34.1 46.10
## 11 12.12 27.66 9.67 0.46 71.66 32.9 80.83
## 12 15.43 24.17 9.20 1.70 65.48 27.9 78.05
## 13 18.82 20.48 8.39 6.33 65.92 15.4 77.06
## 14 12.42 26.92 8.98 4.54 67.55 34.0 79.69
## 15 17.25 24.00 9.14 2.19 69.60 31.6 76.60
## 16 12.51 14.56 9.58 1.27 70.04 35.9 81.16
## 17 18.31 61.03 10.30 1.15 69.64 32.2 46.98
## 18 18.40 32.95 9.85 0.46 70.60 29.4 78.95
## 19 7.04 0.11 12.74 0.01 72.02 21.7 87.96
## 20 14.59 3.95 10.94 0.20 70.98 25.6 73.80
## 21 10.73 1.81 11.31 0.08 72.06 20.7 83.03
## 22 10.53 6.24 11.27 0.17 69.78 25.6 78.05
## 23 16.41 55.11 8.78 1.40 64.41 29.6 41.12
## 24 11.50 35.19 8.96 1.42 67.90 23.8 73.81
## 25 8.54 51.69 10.19 2.22 69.57 27.4 78.14
## 26 7.01 55.31 9.57 3.22 65.56 15.6 77.29
## 27 15.10 64.15 7.06 0.87 70.34 20.3 72.41
## 28 9.23 26.92 8.97 1.85 69.64 16.9 79.92
## 29 7.98 41.28 10.28 1.51 72.28 24.7 82.28
## 30 3.44 14.42 10.41 0.51 72.31 33.8 86.20
## 31 7.87 41.91 9.78 1.78 72.20 17.7 82.42
## 32 8.21 24.26 9.18 1.82 69.09 11.0 76.65
## 33 7.99 41.36 9.69 1.39 70.77 20.2 76.96
## 34 7.47 36.67 10.08 2.02 70.11 32.6 82.50
## 35 8.04 25.69 10.50 2.06 71.24 28.0 84.33
## 36 8.86 55.14 9.37 3.08 63.47 20.7 70.54
## 37 16.39 63.23 6.99 1.20 69.58 31.8 65.87
## 38 7.54 56.82 9.90 3.57 66.89 28.9 75.32
## 39 8.69 49.20 9.93 3.18 70.27 18.4 81.16
## 40 11.66 47.18 9.20 2.85 72.24 22.4 80.35
## 41 7.44 33.30 9.14 1.51 69.59 14.4 85.35
## 42 11.38 35.54 9.13 0.72 67.88 17.7 78.37
## 43 8.79 42.52 9.74 3.26 67.82 21.8 75.14
## 44 7.89 39.91 9.86 2.67 67.71 17.7 76.75
## 45 8.06 24.70 9.32 2.79 69.54 16.0 57.85
## 46 9.08 37.52 9.28 2.18 70.25 9.6 80.30
#ANALISIS STATISTIKA DESKRIPTIF#
stat.desc(data)
## X1 X2 X3 X4 X5
## nbr.val 46.0000000 46.000000 46.0000000 46.0000000 4.600000e+01
## nbr.null 0.0000000 0.000000 0.0000000 0.0000000 0.000000e+00
## nbr.na 0.0000000 0.000000 0.0000000 0.0000000 0.000000e+00
## min 3.4400000 0.110000 6.9900000 0.0100000 6.347000e+01
## max 19.1500000 64.150000 12.7400000 6.3300000 7.231000e+01
## range 15.7100000 64.040000 5.7500000 6.3200000 8.840000e+00
## sum 548.7700000 1546.130000 443.0700000 83.4200000 3.176010e+03
## median 11.5800000 34.620000 9.6250000 1.6900000 6.957500e+01
## mean 11.9297826 33.611522 9.6319565 1.8134783 6.904370e+01
## SE.mean 0.6135164 2.403191 0.1447615 0.1788228 3.302387e-01
## CI.mean.0.95 1.2356854 4.840275 0.2915647 0.3601677 6.651349e-01
## var 17.3145088 265.665018 0.9639716 1.4709699 5.016650e+00
## std.dev 4.1610706 16.299234 0.9818206 1.2128355 2.239788e+00
## coef.var 0.3487969 0.484930 0.1019337 0.6687896 3.244015e-02
## X6 Y
## nbr.val 46.0000000 46.0000000
## nbr.null 0.0000000 0.0000000
## nbr.na 0.0000000 0.0000000
## min 9.6000000 41.1200000
## max 40.2000000 87.9600000
## range 30.6000000 46.8400000
## sum 1163.3000000 3480.6100000
## median 25.6000000 77.4150000
## mean 25.2891304 75.6654348
## SE.mean 1.0659655 1.4454298
## CI.mean.0.95 2.1469647 2.9112451
## var 52.2689903 96.1063009
## std.dev 7.2297296 9.8033821
## coef.var 0.2858829 0.1295622
model=(lm(formula=Y~X1+X2+X3+X4+X5+X6,data=data))
model
##
## Call:
## lm(formula = Y ~ X1 + X2 + X3 + X4 + X5 + X6, data = data)
##
## Coefficients:
## (Intercept) X1 X2 X3 X4 X5
## 23.41040 -0.94922 -0.27140 -1.10771 1.14665 1.16243
## X6
## 0.04083
summary(model)
##
## Call:
## lm(formula = Y ~ X1 + X2 + X3 + X4 + X5 + X6, data = data)
##
## Residuals:
## Min 1Q Median 3Q Max
## -25.570 -1.203 1.673 4.395 9.708
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 23.41040 50.04453 0.468 0.64254
## X1 -0.94922 0.35709 -2.658 0.01133 *
## X2 -0.27140 0.09127 -2.974 0.00502 **
## X3 -1.10771 1.66417 -0.666 0.50957
## X4 1.14665 1.18045 0.971 0.33735
## X5 1.16243 0.65072 1.786 0.08182 .
## X6 0.04083 0.18566 0.220 0.82708
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 7.933 on 39 degrees of freedom
## Multiple R-squared: 0.4325, Adjusted R-squared: 0.3452
## F-statistic: 4.954 on 6 and 39 DF, p-value: 0.0007463
vif(model)
## X1 X2 X3 X4 X5 X6
## 1.578681 1.582304 1.908965 1.465681 1.518962 1.288375
#SCATTERPLOT#
#Variabel Y dengan X1
plot(data$X1,data$Y,main="Scatterplot Variabel Y dengan X1",
xlab="X1", ylab="Y",col="black")
abline(lm(data$Y~data$X1), col="darkred", lwd=3)
#Variabel Y dengan X2
plot(data$X2,data$Y,main="Scatterplot Variabel Y dengan X2",
xlab="X2", ylab="Y",col="black")
abline(lm(data$Y~data$X2), col="darkred", lwd=3)
#Variabel Y dengan X3
plot(data$X3,data$Y,main="Scatterplot Variabel Y dengan X3",
xlab="X3", ylab="Y",col="black")
abline(lm(data$Y~data$X3), col="darkred", lwd=3)
#Variabel Y dengan X4
plot(data$X4,data$Y,main="Scatterplot Variabel Y dengan X4",
xlab="X4", ylab="Y",col="black")
abline(lm(data$Y~data$X4), col="darkred", lwd=3)
#Variabel Y dengan X5
plot(data$X5,data$Y,main="Scatterplot Variabel Y dengan X5",
xlab="X5", ylab="Y",col="black")
abline(lm(data$Y~data$X5), col="darkred", lwd=3)
#Variabel Y dengan X6
plot(data$X6,data$Y,main="Scatterplot Variabel Y dengan X6",
xlab="X6", ylab="Y",col="black")
abline(lm(data$Y~data$X6), col="darkred", lwd=3)
#PENGUJIAN LINIERITAS MENGGUNAKAN UJI RAMSEY RESET#
resettest(Y~X1, power=2:3, type="regressor", data=data)
##
## RESET test
##
## data: Y ~ X1
## RESET = 0.52289, df1 = 2, df2 = 42, p-value = 0.5966
resettest(Y~X2, power=2:3, type="regressor", data=data)
##
## RESET test
##
## data: Y ~ X2
## RESET = 1.0925, df1 = 2, df2 = 42, p-value = 0.3447
resettest(Y~X3, power=2:3, type="regressor", data=data)
##
## RESET test
##
## data: Y ~ X3
## RESET = 0.03275, df1 = 2, df2 = 42, p-value = 0.9678
resettest(Y~X4, power=2:3, type="regressor", data=data)
##
## RESET test
##
## data: Y ~ X4
## RESET = 1.14, df1 = 2, df2 = 42, p-value = 0.3295
resettest(Y~X5, power=2:3, type="regressor", data=data)
##
## RESET test
##
## data: Y ~ X5
## RESET = 0.93958, df1 = 2, df2 = 42, p-value = 0.3988
resettest(Y~X6, power=2:3, type="regressor", data=data)
##
## RESET test
##
## data: Y ~ X6
## RESET = 0.054335, df1 = 2, df2 = 42, p-value = 0.9472
#MELIHAT OUTLIER PADA VARIABEL X MENGGUNAKAN BOXPLOT#
#MEMBUAT BOXPLOT
boxplot(data$X1, main="Boxplot X1", ylab="X1")
boxplot(data$X2, main="Boxplot X2", ylab="X2")
boxplot(data$X3, main="Boxplot X3", ylab="X3")
boxplot(data$X4, main="Boxplot X4", ylab="X4")
boxplot(data$X5, main="Boxplot X5", ylab="X5")
boxplot(data$X6, main="Boxplot X6", ylab="X6")
#ELIMINASI VARIABEL YANG TIDAKMEMILIKI OUTLIER#
data2 <- subset(data, select = -c(X1, X2, X6))
data2
## X3 X4 X5 Y
## 1 8.50 2.22 64.81 73.84
## 2 10.13 2.20 68.65 76.87
## 3 8.99 1.68 69.07 77.19
## 4 10.04 2.16 69.18 69.08
## 5 10.27 1.46 68.34 78.27
## 6 10.87 1.38 70.14 84.72
## 7 9.29 0.70 67.29 76.69
## 8 9.37 0.56 69.15 77.12
## 9 9.91 1.68 65.61 77.54
## 10 9.02 1.74 67.78 46.10
## 11 9.67 0.46 71.66 80.83
## 12 9.20 1.70 65.48 78.05
## 13 8.39 6.33 65.92 77.06
## 14 8.98 4.54 67.55 79.69
## 15 9.14 2.19 69.60 76.60
## 16 9.58 1.27 70.04 81.16
## 17 10.30 1.15 69.64 46.98
## 18 9.85 0.46 70.60 78.95
## 19 12.74 0.01 72.02 87.96
## 20 10.94 0.20 70.98 73.80
## 21 11.31 0.08 72.06 83.03
## 22 11.27 0.17 69.78 78.05
## 23 8.78 1.40 64.41 41.12
## 24 8.96 1.42 67.90 73.81
## 25 10.19 2.22 69.57 78.14
## 26 9.57 3.22 65.56 77.29
## 27 7.06 0.87 70.34 72.41
## 28 8.97 1.85 69.64 79.92
## 29 10.28 1.51 72.28 82.28
## 30 10.41 0.51 72.31 86.20
## 31 9.78 1.78 72.20 82.42
## 32 9.18 1.82 69.09 76.65
## 33 9.69 1.39 70.77 76.96
## 34 10.08 2.02 70.11 82.50
## 35 10.50 2.06 71.24 84.33
## 36 9.37 3.08 63.47 70.54
## 37 6.99 1.20 69.58 65.87
## 38 9.90 3.57 66.89 75.32
## 39 9.93 3.18 70.27 81.16
## 40 9.20 2.85 72.24 80.35
## 41 9.14 1.51 69.59 85.35
## 42 9.13 0.72 67.88 78.37
## 43 9.74 3.26 67.82 75.14
## 44 9.86 2.67 67.71 76.75
## 45 9.32 2.79 69.54 57.85
## 46 9.28 2.18 70.25 80.30
#ANALISIS STATISTIKA DESKRIPTIF MODEL KEDUA (VARIABEL YANG TIDAK MEMILIKI OUTLIER)#
stat.desc(data2)
## X3 X4 X5 Y
## nbr.val 46.0000000 46.0000000 4.600000e+01 46.0000000
## nbr.null 0.0000000 0.0000000 0.000000e+00 0.0000000
## nbr.na 0.0000000 0.0000000 0.000000e+00 0.0000000
## min 6.9900000 0.0100000 6.347000e+01 41.1200000
## max 12.7400000 6.3300000 7.231000e+01 87.9600000
## range 5.7500000 6.3200000 8.840000e+00 46.8400000
## sum 443.0700000 83.4200000 3.176010e+03 3480.6100000
## median 9.6250000 1.6900000 6.957500e+01 77.4150000
## mean 9.6319565 1.8134783 6.904370e+01 75.6654348
## SE.mean 0.1447615 0.1788228 3.302387e-01 1.4454298
## CI.mean.0.95 0.2915647 0.3601677 6.651349e-01 2.9112451
## var 0.9639716 1.4709699 5.016650e+00 96.1063009
## std.dev 0.9818206 1.2128355 2.239788e+00 9.8033821
## coef.var 0.1019337 0.6687896 3.244015e-02 0.1295622
model2=(lm(formula=Y~X3+X4+X5,data=data2))
model2
##
## Call:
## lm(formula = Y ~ X3 + X4 + X5, data = data2)
##
## Coefficients:
## (Intercept) X3 X4 X5
## -72.432 2.458 1.723 1.757
summary(model2)
##
## Call:
## lm(formula = Y ~ X3 + X4 + X5, data = data2)
##
## Residuals:
## Min 1Q Median 3Q Max
## -30.2321 -0.2201 2.2969 3.9418 10.4568
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -72.4324 46.7464 -1.549 0.1288
## X3 2.4580 1.4844 1.656 0.1052
## X4 1.7226 1.2421 1.387 0.1728
## X5 1.7568 0.6893 2.549 0.0146 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 8.891 on 42 degrees of freedom
## Multiple R-squared: 0.2324, Adjusted R-squared: 0.1775
## F-statistic: 4.238 on 3 and 42 DF, p-value: 0.01052
vif(model2)
## X3 X4 X5
## 1.209244 1.292062 1.357045
#PEMILIHAN 1 TITIK KNOT#
GCV1=function(data)
{
para=0
data=as.matrix(data)
N=nrow(data)
M=ncol(data)
m=ncol(data)-para-1
dataA=data[,(para+2):M]
dataA=as.matrix(dataA)
F=diag(N)
nk=50 #nk=banyaknya alternatif titik knot yang akan dicoba
knot1=matrix(ncol=m,nrow=nk)
for (i in (1:m)) #membuat knot
{
a=seq(min(dataA[,i]),max(dataA[,i]),length.out=nk)
knot1[,i]=t(as.matrix(a))
}
a1=length(knot1[,1])
knot1=as.matrix(knot1[2:(a1-1),])
aa=rep(1,N)
data1=matrix(ncol=m,nrow=N)
data2=data[,2:M] #data x saja
nk1=nrow(knot1)
GCV=as.matrix(rep(NA,nk1),ncol=1);colnames(GCV)<-"GCV"
MSE=as.matrix(rep(NA,nk1),ncol=1);colnames(MSE)<-"MSE"
SSE=rep(NA,nk1)
SSR=rep(NA,nk1)
Rsq=as.matrix(rep(NA,nk1),ncol=1);colnames(Rsq)<-"Rsq"
knotke=matrix(c(1:nk1),ncol=1);colnames(knotke)<-"knot_ke"
for (i in 1:nk1)
{
for (j in 1:m)
{
for (k in 1:N)
{
if (data[k,(j+para+1)]<knot1[i,j]) data1[k,j]=0 else
data1[k,j]=data[k,(j+para+1)]-knot1[i,j]
}
}
mx=as.matrix(cbind(aa,data2,data1))
C=pinv(t(mx)%*%mx)
B=C%*%(t(mx)%*%data[,1])
yhat=mx%*%B
res=data[,1]-yhat
SSE[i]=sum((res)^2)
SSR[i]=sum((yhat-mean(data[,1]))^2)
MSE[i]=SSE[i]/(N)
Rsq[i]=(SSR[i]/(SSR[i]+SSE[i]))*100
A=mx%*%C%*%t(mx)
A1=(F-A)
A2=(sum(diag(A1))/N)^2
GCV[i]=MSE[i]/A2
}
dataAll=as.matrix(cbind(GCV,Rsq,knotke,knot1))
dataG=dataAll[order(GCV),-2]
write.csv(dataAll, file="C:\\Users\\tokok\\Downloads\\SEMESTER 5\\REGNON\\2407016002_Rini Rahmah_DATA ALL knot 1_DATASET 2.csv")
cat("==============================================","\n")
cat("HASIL GCV terkecil dengan 1 knot","\n")
cat("==============================================","\n")
print(dataG[1,])
cat("Nilai GCV 10 terkecil pertama","\n")
print(dataG[1:10,])
mingcv=dataG[1,1]
knotgcv=as.matrix(knot1[dataG[1,2],])
knotgcv1=matrix(knotgcv,nrow=1)
datagcv1=matrix(ncol=m,nrow=N)
for (j in 1:m)
{
for (k in 1:N)
{
if (data[k,(j+para+1)]<knotgcv[j,1]) datagcv1[k,j]=0 else
datagcv1[k,j]=data[k,(j+para+1)]-knotgcv[j,1]
}
}
mxgcv=as.matrix(cbind(aa,data2,datagcv1))
Cgcv=pinv(t(mxgcv)%*%mxgcv)
B=Cgcv%*%(t(mxgcv)%*%data[,1])
cat("\n")
cat("==============================================","\n")
cat("HASIL ESTIMASI PARAMETER TITIK KNOT KE 1","\n")
cat("==============================================","\n")
print(B)
cat("\n")
}
GCV1(data2)
## ==============================================
## HASIL GCV terkecil dengan 1 knot
## ==============================================
## GCV knot_ke
## 0.6901338 3.0000000 0.3969388 64.0112245 43.9877551
## Nilai GCV 10 terkecil pertama
## GCV knot_ke
## [1,] 0.6901338 3 0.3969388 64.01122 43.98776
## [2,] 0.6917694 4 0.5259184 64.19163 44.94367
## [3,] 0.7066303 5 0.6548980 64.37204 45.89959
## [4,] 0.7078490 2 0.2679592 63.83082 43.03184
## [5,] 0.7369098 6 0.7838776 64.55245 46.85551
## [6,] 0.7657321 1 0.1389796 63.65041 42.07592
## [7,] 0.7772190 7 0.9128571 64.73286 47.81143
## [8,] 0.8237902 8 1.0418367 64.91327 48.76735
## [9,] 0.8388712 47 6.0720408 71.94918 86.04816
## [10,] 0.8414790 48 6.2010204 72.12959 87.00408
##
## ==============================================
## HASIL ESTIMASI PARAMETER TITIK KNOT KE 1
## ==============================================
## [,1]
## [1,] 60.09480600
## [2,] -6.53104185
## [3,] -0.70809198
## [4,] -0.08313209
## [5,] 6.52384619
## [6,] 0.78096884
## [7,] 0.10144753
#UJI SIGNIFIKANSI SATU TITIK KNOT#
uji=function(alpha,para)
{
# --- baca & siapkan titik knot terbaik (GCV terkecil) ---
knot = read.csv("C:\\Users\\tokok\\Downloads\\SEMESTER 5\\REGNON\\2407016002_Rini Rahmah_DATA ALL knot 1_DATASET 2.csv", header=TRUE)
knot = as.matrix(knot)
knot = knot[,-1] # buang kolom index baris
knot = knot[order(knot[,1]), ] # urutkan berdasarkan GCV (kolom 1) terkecil
baris_knot = as.numeric(knot[1, 4:6]) # ambil knot X5-X5 pada baris GCV terkecil
data=as.matrix(data2)
ybar=mean(data[,1])
m=para+2
n=nrow(data)
q=ncol(data)
dataA=cbind(data[,m],data[,m+1],data[,m+2])
dataA=as.matrix(dataA)
satu=rep(1,n)
n1=3 # jumlah variabel X (X3, X4, X5)
data.knot=matrix(ncol=n1,nrow=n)
for (i in 1:n1)
{
for (j in 1:n)
{
if(dataA[j,i] < baris_knot[i]) data.knot[j,i]=0
else data.knot[j,i] = dataA[j,i] - baris_knot[i]
}
}
mx=cbind(satu,data[,2],data.knot[,1],data[,3],
data.knot[,2],data[,4],data.knot[,3])
mx=as.matrix(mx)
B=(pinv(t(mx)%*%mx))%*%t(mx)%*%data[,1]
n1=nrow(B)
yhat=mx%*%B
ybar=mean(data[,1])
res=data[,1]-yhat
SSE=sum((data[,1]-yhat)^2)
SSR=sum((yhat-ybar)^2)
MSE=SSE/(n)
MSR=SSR/(n1-1)
SST=sum((data[,1]-ybar)^2)
Rsq=(SSR/(SSR+SSE))*100
#-------------------------------------------------------#
# UJI SIMULTAN
#-------------------------------------------------------#
Fhit=MSR/MSE
pvalue=pf(Fhit,(n1-1),(n-n1),lower.tail=FALSE)
if(pvalue<=alpha)
{
cat('---------------------------------------','\n')
cat('Kesimpulan hasil uji simultan','\n')
cat('---------------------------------------','\n')
cat('Tolak Ho yakni minimal terdapat 1 variabel bebas yang signifikan','\n')
cat('','\n')
}
else # <-- perbaikan: "Else" jadi "else"
{
cat('---------------------------------------','\n')
cat('Kesimpulan hasil uji simultan','\n')
cat('---------------------------------------','\n')
cat('Gagal Tolak Ho yakni semua variabel bebas tidak berpengaruh signifikan','\n')
cat('','\n')
}
#------------------------------------------------------#
# UJI PARSIAL
#------------------------------------------------------#
thit=rep(NA,n1)
pval=rep(NA,n1)
SE=sqrt(diag(MSE*(pinv(t(mx)%*%mx))))
cat('---------------------------------------------','\n')
cat('Kesimpulan hasil uji parsial','\n')
cat('---------------------------------------------','\n')
for (i in 1:n1)
{
thit[i]=B[i,1]/SE[i]
pval[i]=2*(pt(abs(thit[i]),(n-n1),lower.tail=FALSE))
if (pval[i]<=alpha) cat('Tolak Ho yakni variabel bebas signifikan dengan pvalue',pval[i],'\n')
else cat('Gagal tolak Ho yakni variabel tidak signifikan dengan pvalue',pval[i],'\n')
}
thit=as.matrix(thit)
cat('=============================================','\n')
cat('nilai t hitung','\n')
cat('=============================================','\n')
print(thit)
cat('Analysis of Variance','\n')
cat('=============================================','\n')
cat('Sumber df SS MS Fhit','\n')
cat('Regresi ',(n1-1),' ',SSR,' ',MSR,' ',Fhit,'\n')
cat('Error ',n-n1,' ',SSE,' ',MSE,'\n')
cat('Total ',n-1,' ',SST,'\n')
cat('=============================================','\n')
cat('s=',sqrt(MSE),' Rsq=',Rsq,'\n')
cat('pvalue(F)=',pvalue,'\n')
write.csv(res, file="C:\\Users\\tokok\\Downloads\\SEMESTER 5\\REGNON\\2407016002_Rini Rahmah_OUTPUT UJI RESIDUAL knot1_DATASET 2.csv")
write.csv(mx, file="C:\\Users\\tokok\\Downloads\\SEMESTER 5\\REGNON\\2407016002_Rini Rahmah_OUTPUT UJI MX knot1_DATASET 2.csv")
write.csv(yhat, file='C:\\Users\\tokok\\Downloads\\SEMESTER 5\\REGNON\\2407016002_Rini Rahmah_OUTPUT UJI yhat knot1_DATASET 2.csv')
}
uji(0.1, 0)
## ---------------------------------------
## Kesimpulan hasil uji simultan
## ---------------------------------------
## Tolak Ho yakni minimal terdapat 1 variabel bebas yang signifikan
##
## ---------------------------------------------
## Kesimpulan hasil uji parsial
## ---------------------------------------------
## Gagal tolak Ho yakni variabel tidak signifikan dengan pvalue 0.5242894
## Tolak Ho yakni variabel bebas signifikan dengan pvalue 3.543925e-05
## Tolak Ho yakni variabel bebas signifikan dengan pvalue 5.00291e-05
## Gagal tolak Ho yakni variabel tidak signifikan dengan pvalue 0.6212239
## Gagal tolak Ho yakni variabel tidak signifikan dengan pvalue 0.5917596
## Gagal tolak Ho yakni variabel tidak signifikan dengan pvalue 0.7816552
## Gagal tolak Ho yakni variabel tidak signifikan dengan pvalue 0.7400535
## =============================================
## nilai t hitung
## =============================================
## [,1]
## [1,] 0.6425288
## [2,] -4.6684586
## [3,] 4.5575425
## [4,] -0.4980814
## [5,] 0.5407436
## [6,] -0.2790837
## [7,] 0.3341542
## Analysis of Variance
## =============================================
## Sumber df SS MS Fhit
## Regresi 6 20.5593 3.42655 6.90733
## Error 39 22.81942 0.4960744
## Total 45 43.37872
## =============================================
## s= 0.7043255 Rsq= 47.39489
## pvalue(F)= 4.736693e-05
#PEMILIHAN DUA TITIK KNOT#
GCV2=function(data)
{
para=0
data=as.matrix(data)
N=nrow(data)
M=ncol(data)
m=ncol(data)-para-1
dataA=data[,(para+2):M]
dataA=as.matrix(dataA)
F=diag(N)
nk=50
knot1=matrix(ncol=m,nrow=nk)
for (i in (1:m))
{
a=seq(min(dataA[,i]),max(dataA[,i]),length.out=nk)
knot1[,i]=t(as.matrix(a))
}
a1=length(knot1[,1])
knot1=as.matrix(knot1[2:(a1-1),])
a2=nk-2
z=(a2*(a2-1)/2)
knot2=cbind(rep(NA,(z+1)))
for (i in (1:m))
{
knot=rbind(rep(NA,2))
for ( j in 1:(a2-1))
{
for (k in (j+1):a2)
{ xx=cbind(knot1[j,i],knot1[k,i])
knot=rbind(knot,xx)
}
}
knot2=cbind(knot2,knot)
}
knot2=knot2[2:(z+1),2:(2*m+1)]
a3=nrow(knot2)
aa=rep(1,N)
data1=matrix(ncol=2*m,nrow=N)
data2=data[,2:M]
nk1=nrow(knot2)
GCV=as.matrix(rep(NA,nk1),ncol=1);colnames(GCV)<-"GCV"
MSE=as.matrix(rep(NA,nk1),ncol=1);colnames(MSE)<-"MSE"
SSE=rep(NA,nk1)
SSR=rep(NA,nk1)
Rsq=as.matrix(rep(NA,nk1),ncol=1);colnames(Rsq)<-"Rsq"
knotke=matrix(c(1:nk1),ncol=1);colnames(knotke)<-"knot_ke"
for (i in 1:a3)
{
for (j in 1:(2*m))
{
if (mod(j,2)==1) b=floor(j/2)+1 else b=j/2
for (k in 1:N)
{
if (data[k,(b+para+1)]<knot2[i,j]) data1[k,j]=0 else
data1[k,j]=data[k,(b+para+1)]-knot2[i,j]
}
}
mx=as.matrix(cbind(aa,data2,data1))
C=pinv(t(mx)%*%mx)
B=C%*%(t(mx)%*%data[,1])
yhat=mx%*%B
res=data[,1]-yhat
SSE[i]=sum((res)^2)
SSR[i]=sum((yhat-mean(data[,1]))^2)
MSE[i]=SSE[i]/(N)
Rsq[i]=(SSR[i]/(SSR[i]+SSE[i]))*100
A=mx%*%C%*%t(mx)
A1=(F-A)
A2=(sum(diag(A1))/N)^2
GCV[i]=MSE[i]/A2
}
dataAll=as.matrix(cbind(GCV,Rsq,knotke,knot2))
dataG=dataAll[order(GCV),-2]
write.csv(dataAll,file="C:\\Users\\tokok\\Downloads\\SEMESTER 5\\REGNON\\2407016002_Rini Rahmah_DATA ALL knot 2_DATASET 2.csv")
cat("==============================================","\n")
cat("HASIL GCV terkecil dengan 2 knot","\n")
cat("==============================================","\n")
print(dataG[1,])
cat("Nilai GCV 10 terkecil pertama","\n")
print(dataG[1:10,])
# --- PERBAIKAN: hitung ulang B dari titik knot dengan GCV TERKECIL ---
# (sebelumnya B yang dicetak = B dari kombinasi knot TERAKHIR yang dicoba, bukan yang terbaik)
baris_terbaik = dataG[1, "knot_ke"]
knotgcv = knot2[baris_terbaik, ]
datagcv1=matrix(ncol=2*m,nrow=N)
for (j in 1:(2*m))
{
if (mod(j,2)==1) b=floor(j/2)+1 else b=j/2
for (k in 1:N)
{
if (data[k,(b+para+1)]<knotgcv[j]) datagcv1[k,j]=0 else
datagcv1[k,j]=data[k,(b+para+1)]-knotgcv[j]
}
}
mxgcv=as.matrix(cbind(aa,data2,datagcv1))
Cgcv=pinv(t(mxgcv)%*%mxgcv)
B=Cgcv%*%(t(mxgcv)%*%data[,1])
cat("\n")
cat("==============================================","\n")
cat("HASIL ESTIMASI PARAMETER TITIK KNOT KE 2","\n")
cat("==============================================","\n")
print(B)
cat("\n")
}
GCV2(data2)
## ==============================================
## HASIL GCV terkecil dengan 2 knot
## ==============================================
## GCV knot_ke
## 0.4882595 240.0000000 0.7838776 2.7185714 64.5524490 67.2585714
##
## 46.8555102 61.1942857
## Nilai GCV 10 terkecil pertama
## GCV knot_ke
## [1,] 0.4882595 240 0.7838776 2.718571 64.55245 67.25857 46.85551 61.19429
## [2,] 0.4894738 239 0.7838776 2.589592 64.55245 67.07816 46.85551 60.23837
## [3,] 0.4915948 203 0.6548980 3.363469 64.37204 68.16061 45.89959 65.97388
## [4,] 0.4928773 241 0.7838776 2.847551 64.55245 67.43898 46.85551 62.15020
## [5,] 0.4938041 242 0.7838776 2.976531 64.55245 67.61939 46.85551 63.10612
## [6,] 0.4944269 202 0.6548980 3.234490 64.37204 67.98020 45.89959 65.01796
## [7,] 0.4954953 271 0.9128571 1.428776 64.73286 65.45449 47.81143 51.63510
## [8,] 0.4955458 245 0.7838776 3.363469 64.55245 68.16061 46.85551 65.97388
## [9,] 0.4960685 243 0.7838776 3.105510 64.55245 67.79980 46.85551 64.06204
## [10,] 0.4961434 238 0.7838776 2.460612 64.55245 66.89776 46.85551 59.28245
##
## ==============================================
## HASIL ESTIMASI PARAMETER TITIK KNOT KE 2
## ==============================================
## [,1]
## [1,] 34.7150973
## [2,] -3.7775798
## [3,] -0.4657660
## [4,] 0.1579646
## [5,] 4.4301418
## [6,] -1.1407490
## [7,] 0.6304440
## [8,] -0.2489428
## [9,] -0.3134173
## [10,] 0.2556658
#UJI SIGNIFIKANSI DUA TITIK KNOT#
uji=function(alpha,para)
{
knot = read.csv("C:\\Users\\tokok\\Downloads\\SEMESTER 5\\REGNON\\2407016002_Rini Rahmah_DATA ALL knot 2_DATASET 2.csv", header=TRUE)
knot = as.matrix(knot)
knot = knot[,-1] # buang kolom index baris
knot = knot[order(knot[,1]), ] # urutkan berdasarkan GCV terkecil
baris_knot = as.numeric(knot[1, 4:9]) # 2 knot x 3 variabel = 6 nilai
data=as.matrix(data2)
ybar=mean(data[,1])
m=para+2
n=nrow(data)
q=ncol(data)
dataA=cbind(data[,m],data[,m],data[,m+1],data[,m+1],
data[,m+2],data[,m+2])
dataA=as.matrix(dataA)
satu=rep(1,n)
n1=length(baris_knot) # = 6
data.knot=matrix(ncol=n1,nrow=n)
for (i in 1:n1)
{
for (j in 1:n)
{
if(dataA[j,i]<baris_knot[i]) data.knot[j,i]=0
else data.knot[j,i]=dataA[j,i]-baris_knot[i]
}
}
mx=cbind(satu,data[,2],data.knot[,1:2],data[,3],
data.knot[,3:4],data[,4],data.knot[,5:6])
mx=as.matrix(mx)
B=(pinv(t(mx)%*%mx))%*%t(mx)%*%data[,1]
n1=nrow(B)
yhat=mx%*%B
ybar=mean(data[,1])
res=data[,1]-yhat
SSE=sum((data[,1]-yhat)^2)
SSR=sum((yhat-ybar)^2)
MSE=SSE/(n)
MSR=SSR/(n1-1)
SST=sum((data[,1]-ybar)^2)
Rsq=(SSR/(SSR+SSE))*100
Fhit=MSR/MSE
pvalue=pf(Fhit,(n1-1),(n-n1),lower.tail=FALSE)
if(pvalue<=alpha)
{
cat('---------------------------------------','\n')
cat('Kesimpulan hasil uji simultan','\n')
cat('---------------------------------------','\n')
cat('Tolak Ho yakni minimal terdapat 1 variabel bebas yang signifikan','\n')
cat('','\n')
}
else
{
cat('---------------------------------------','\n')
cat('Kesimpulan hasil uji simultan','\n')
cat('---------------------------------------','\n')
cat('Gagal Tolak Ho yakni semua variabel bebas tidak berpengaruh signifikan','\n')
cat('','\n')
}
thit=rep(NA,n1)
pval=rep(NA,n1)
SE=sqrt(diag(MSE*(pinv(t(mx)%*%mx))))
cat('---------------------------------------------','\n')
cat('Kesimpulan hasil uji parsial','\n')
cat('---------------------------------------------','\n')
for (i in 1:n1)
{
thit[i]=B[i,1]/SE[i]
pval[i]=2*(pt(abs(thit[i]),(n-n1),lower.tail=FALSE))
if (pval[i]<=alpha) cat('Tolak Ho yakni variabel bebas signifikan dengan pvalue',pval[i],'\n')
else cat('Gagal tolak Ho yakni variabel tidak signifikan dengan pvalue',pval[i],'\n')
}
thit=as.matrix(thit)
cat('=============================================','\n')
cat('nilai t hitung','\n')
cat('=============================================','\n')
print(thit)
cat('Analysis of Variance','\n')
cat('=============================================','\n')
cat('Sumber df SS MS Fhit','\n')
cat('Regresi ',(n1-1),' ',SSR,' ',MSR,' ',Fhit,'\n')
cat('Error ',n-n1,' ',SSE,' ',MSE,'\n')
cat('Total ',n-1,' ',SST,'\n')
cat('=============================================','\n')
cat('s=',sqrt(MSE),' Rsq=',Rsq,'\n')
cat('pvalue(F)=',pvalue,'\n')
write.csv(res,file='C:\\Users\\tokok\\Downloads\\SEMESTER 5\\REGNON\\2407016002_Rini Rahmah_OUTPUT UJI RESIDUAL knot2_DATASET 2.csv')
write.csv(mx,file='C:\\Users\\tokok\\Downloads\\SEMESTER 5\\REGNON\\2407016002_Rini Rahmah_OUTPUT UJI MX knot2_DATASET 2.csv')
write.csv(yhat,file='C:\\Users\\tokok\\Downloads\\SEMESTER 5\\REGNON\\2407016002_Rini Rahmah_OUTPUT UJI yhat knot2_DATASET 2.csv')
}
uji(0.1, 0)
## ---------------------------------------
## Kesimpulan hasil uji simultan
## ---------------------------------------
## Tolak Ho yakni minimal terdapat 1 variabel bebas yang signifikan
##
## ---------------------------------------------
## Kesimpulan hasil uji parsial
## ---------------------------------------------
## Gagal tolak Ho yakni variabel tidak signifikan dengan pvalue 0.412631
## Tolak Ho yakni variabel bebas signifikan dengan pvalue 5.239999e-08
## Tolak Ho yakni variabel bebas signifikan dengan pvalue 7.708623e-08
## Tolak Ho yakni variabel bebas signifikan dengan pvalue 0.0001899029
## Gagal tolak Ho yakni variabel tidak signifikan dengan pvalue 0.464176
## Gagal tolak Ho yakni variabel tidak signifikan dengan pvalue 0.3937852
## Gagal tolak Ho yakni variabel tidak signifikan dengan pvalue 0.2474525
## Gagal tolak Ho yakni variabel tidak signifikan dengan pvalue 0.2760619
## Tolak Ho yakni variabel bebas signifikan dengan pvalue 0.06775125
## Tolak Ho yakni variabel bebas signifikan dengan pvalue 3.805276e-05
## =============================================
## nilai t hitung
## =============================================
## [,1]
## [1,] 0.8288861
## [2,] -6.8454770
## [3,] 6.7183628
## [4,] -4.1574954
## [5,] -0.7398712
## [6,] 0.8631205
## [7,] -1.1756473
## [8,] 1.1060026
## [9,] -1.8833519
## [10,] 4.6946236
## Analysis of Variance
## =============================================
## Sumber df SS MS Fhit
## Regresi 9 29.62254 3.291394 11.00626
## Error 36 13.75618 0.2990474
## Total 45 43.37872
## =============================================
## s= 0.5468523 Rsq= 68.28818
## pvalue(F)= 5.339187e-08
#PEMILIHAN TIGA TITIK KNOT#
GCV3=function(data)
{
para=0
data=as.matrix(data)
N=nrow(data)
M=ncol(data)
m=ncol(data)-para-1
dataA=data[,(para+2):M]
dataA=as.matrix(dataA)
F=diag(N)
nk=50
knot1=matrix(ncol=m,nrow=nk)
for (i in (1:m))
{
a=seq(min(dataA[,i]),max(dataA[,i]),length.out=nk)
knot1[,i]=t(as.matrix(a))
}
a1=length(knot1[,1])
knot1=as.matrix(knot1[2:(a1-1),])
a2=nk-2
z=(a2*(a2-1)*(a2-2)/6)
knot2=cbind(rep(NA,(z+1)))
for (i in (1:m))
{
knot=rbind(rep(NA,3))
for ( j in 1:(a2-2))
{
for (k in (j+1):(a2-1))
{
for (g in (k+1):a2)
{
xx=cbind(knot1[j,i],knot1[k,i],knot1[g,i])
knot=rbind(knot,xx)
}
}
}
knot2=cbind(knot2,knot)
}
knot2=knot2[2:(z+1),2:(3*m+1)]
a3=nrow(knot2)
aa=rep(1,N)
data1=matrix(ncol=3*m,nrow=N)
data2=data[,2:M]
nk1=nrow(knot2)
GCV=as.matrix(rep(NA,nk1),ncol=1);colnames(GCV)<-"GCV"
MSE=as.matrix(rep(NA,nk1),ncol=1);colnames(MSE)<-"MSE"
SSE=rep(NA,nk1)
SSR=rep(NA,nk1)
Rsq=as.matrix(rep(NA,nk1),ncol=1);colnames(Rsq)<-"Rsq"
knotke=matrix(c(1:nk1),ncol=1);colnames(knotke)<-"knot_ke"
for (i in 1:a3)
{
for (j in 1:(3*m))
{
b=ceiling(j/3)
for (k in 1:N)
{
if (data[k,(b+para+1)]<knot2[i,j]) data1[k,j]=0 else
data1[k,j]=data[k,(b+para+1)]-knot2[i,j]
}
}
mx=as.matrix(cbind(aa,data2,data1))
C=pinv(t(mx)%*%mx)
B=C%*%(t(mx)%*%data[,1])
yhat=mx%*%B
res=data[,1]-yhat
SSE[i]=sum((res)^2)
SSR[i]=sum((yhat-mean(data[,1]))^2)
MSE[i]=SSE[i]/(N)
Rsq[i]=(SSR[i]/(SSR[i]+SSE[i]))*100
A=mx%*%C%*%t(mx)
A1=(F-A)
A2=(sum(diag(A1))/N)^2
GCV[i]=MSE[i]/A2
}
dataAll=as.matrix(cbind(GCV,Rsq,knotke,knot2))
dataG=dataAll[order(GCV),-2]
write.csv(dataAll,file="C:\\Users\\tokok\\Downloads\\SEMESTER 5\\REGNON\\2407016002_Rini Rahmah_DATA ALL knot 3_DATASET 2.csv")
cat("==============================================","\n")
cat("HASIL GCV terkecil dengan 3 knot","\n")
cat("==============================================","\n")
print(dataG[1,])
cat("Nilai GCV 10 terkecil pertama","\n")
print(dataG[1:10,])
# --- PERBAIKAN: hitung ulang B dari titik knot dengan GCV TERKECIL ---
baris_terbaik = dataG[1, "knot_ke"]
knotgcv = knot2[baris_terbaik, ]
datagcv1=matrix(ncol=3*m,nrow=N)
for (j in 1:(3*m))
{
b=ceiling(j/3)
for (k in 1:N)
{
if (data[k,(b+para+1)]<knotgcv[j]) datagcv1[k,j]=0 else
datagcv1[k,j]=data[k,(b+para+1)]-knotgcv[j]
}
}
mxgcv=as.matrix(cbind(aa,data2,datagcv1))
Cgcv=pinv(t(mxgcv)%*%mxgcv)
B=Cgcv%*%(t(mxgcv)%*%data[,1])
cat("\n")
cat("==============================================","\n")
cat("HASIL ESTIMASI PARAMETER TITIK KNOT KE 3","\n")
cat("==============================================","\n")
print(B)
cat("\n")
}
GCV3(data2)
## ==============================================
## HASIL GCV terkecil dengan 3 knot
## ==============================================
## GCV knot_ke
## 0.3372663 4998.0000000 0.7838776 1.0418367 1.2997959 64.5524490
##
## 64.9132653 65.2740816 46.8555102 48.7673469 50.6791837
## Nilai GCV 10 terkecil pertama
## GCV knot_ke
## [1,] 0.3372663 4998 0.7838776 1.0418367 1.299796 64.55245 64.91327 65.27408
## [2,] 0.3696023 4176 0.6548980 1.1708163 1.299796 64.37204 65.09367 65.27408
## [3,] 0.3706538 302 0.1389796 1.1708163 1.299796 63.65041 65.09367 65.27408
## [4,] 0.3711936 4137 0.6548980 1.0418367 1.299796 64.37204 64.91327 65.27408
## [5,] 0.3715966 3273 0.5259184 1.1708163 1.299796 64.19163 65.09367 65.27408
## [6,] 0.3718303 5037 0.7838776 1.1708163 1.299796 64.55245 65.09367 65.27408
## [7,] 0.3726929 2327 0.3969388 1.1708163 1.299796 64.01122 65.09367 65.27408
## [8,] 0.3726987 1337 0.2679592 1.1708163 1.299796 63.83082 65.09367 65.27408
## [9,] 0.4075038 4959 0.7838776 0.9128571 1.428776 64.55245 64.73286 65.45449
## [10,] 0.4096701 3234 0.5259184 1.0418367 1.299796 64.19163 64.91327 65.27408
##
## [1,] 46.85551 48.76735 50.67918
## [2,] 45.89959 49.72327 50.67918
## [3,] 42.07592 49.72327 50.67918
## [4,] 45.89959 48.76735 50.67918
## [5,] 44.94367 49.72327 50.67918
## [6,] 46.85551 49.72327 50.67918
## [7,] 43.98776 49.72327 50.67918
## [8,] 43.03184 49.72327 50.67918
## [9,] 46.85551 47.81143 51.63510
## [10,] 44.94367 48.76735 50.67918
##
## ==============================================
## HASIL ESTIMASI PARAMETER TITIK KNOT KE 3
## ==============================================
## [,1]
## [1,] -2.3924422
## [2,] -3.9669314
## [3,] 0.1387718
## [4,] 0.1040700
## [5,] -15.3065219
## [6,] 42.7433321
## [7,] -23.6507191
## [8,] -5.0449951
## [9,] 9.0166921
## [10,] -4.0902882
## [11,] 36.8461367
## [12,] -73.9534811
## [13,] 37.0299008
#UJI SIGNIFIKANSI TIGA TITIK KNOT#
uji=function(alpha,para)
{
knot = read.csv("C:\\Users\\tokok\\Downloads\\SEMESTER 5\\REGNON\\2407016002_Rini Rahmah_DATA ALL knot 3_DATASET 2.csv", header=TRUE)
knot = as.matrix(knot)
knot = knot[,-1]
knot = knot[order(knot[,1]), ]
baris_knot = as.numeric(knot[1, 4:12]) # 3 knot x 3 variabel = 9 nilai
data=as.matrix(data2)
ybar=mean(data[,1])
m=para+2
n=nrow(data)
q=ncol(data)
dataA=cbind(data[,m],data[,m],data[,m],
data[,m+1],data[,m+1],data[,m+1],
data[,m+2],data[,m+2],data[,m+2])
dataA=as.matrix(dataA)
satu=rep(1,n)
n1=length(baris_knot) # = 9
data.knot=matrix(ncol=n1,nrow=n)
for (i in 1:n1)
{
for (j in 1:n)
{
if(dataA[j,i]<baris_knot[i]) data.knot[j,i]=0
else data.knot[j,i]=dataA[j,i]-baris_knot[i]
}
}
mx=cbind(satu,data[,2],data.knot[,1:3],data[,3],
data.knot[,4:6],data[,4],data.knot[,7:9])
mx=as.matrix(mx)
B=(pinv(t(mx)%*%mx))%*%t(mx)%*%data[,1]
n1=nrow(B)
yhat=mx%*%B
ybar=mean(data[,1])
res=data[,1]-yhat
SSE=sum((data[,1]-yhat)^2)
SSR=sum((yhat-ybar)^2)
MSE=SSE/(n)
MSR=SSR/(n1-1)
SST=sum((data[,1]-ybar)^2)
Rsq=(SSR/(SSR+SSE))*100
Fhit=MSR/MSE
pvalue=pf(Fhit,(n1-1),(n-n1),lower.tail=FALSE)
if(pvalue<=alpha)
{
cat('---------------------------------------','\n')
cat('Kesimpulan hasil uji simultan','\n')
cat('---------------------------------------','\n')
cat('Tolak Ho yakni minimal terdapat 1 variabel bebas yang signifikan','\n')
cat('','\n')
}
else
{
cat('---------------------------------------','\n')
cat('Kesimpulan hasil uji simultan','\n')
cat('---------------------------------------','\n')
cat('Gagal Tolak Ho yakni semua variabel bebas tidak berpengaruh signifikan','\n')
cat('','\n')
}
thit=rep(NA,n1)
pval=rep(NA,n1)
SE=sqrt(diag(MSE*(pinv(t(mx)%*%mx))))
cat('---------------------------------------------','\n')
cat('Kesimpulan hasil uji parsial','\n')
cat('---------------------------------------------','\n')
for (i in 1:n1)
{
thit[i]=B[i,1]/SE[i]
pval[i]=2*(pt(abs(thit[i]),(n-n1),lower.tail=FALSE))
if (pval[i]<=alpha) cat('Tolak Ho yakni variabel bebas signifikan dengan pvalue',pval[i],'\n')
else cat('Gagal tolak Ho yakni variabel tidak signifikan dengan pvalue',pval[i],'\n')
}
thit=as.matrix(thit)
cat('=============================================','\n')
cat('nilai t hitung','\n')
cat('=============================================','\n')
print(thit)
cat('Analysis of Variance','\n')
cat('=============================================','\n')
cat('Sumber df SS MS Fhit','\n')
cat('Regresi ',(n1-1),' ',SSR,' ',MSR,' ',Fhit,'\n')
cat('Error ',n-n1,' ',SSE,' ',MSE,'\n')
cat('Total ',n-1,' ',SST,'\n')
cat('=============================================','\n')
cat('s=',sqrt(MSE),' Rsq=',Rsq,'\n')
cat('pvalue(F)=',pvalue,'\n')
write.csv(res,file='C:\\Users\\tokok\\Downloads\\SEMESTER 5\\REGNON\\2407016002_Rini Rahmah_OUTPUT UJI RESIDUAL knot3_DATASET 2.csv')
write.csv(mx,file='C:\\Users\\tokok\\Downloads\\SEMESTER 5\\REGNON\\2407016002_Rini Rahmah_OUTPUT UJI mx knot3_DATASET 2.csv')
write.csv(yhat,file='C:\\Users\\tokok\\Downloads\\SEMESTER 5\\REGNON\\2407016002_Rini Rahmah_OUTPUT UJI yhat knot3_DATASET 2.csv')
}
uji(0.1, 0)
## ---------------------------------------
## Kesimpulan hasil uji simultan
## ---------------------------------------
## Tolak Ho yakni minimal terdapat 1 variabel bebas yang signifikan
##
## ---------------------------------------------
## Kesimpulan hasil uji parsial
## ---------------------------------------------
## Tolak Ho yakni variabel bebas signifikan dengan pvalue 0.004382544
## Tolak Ho yakni variabel bebas signifikan dengan pvalue 7.004142e-08
## Tolak Ho yakni variabel bebas signifikan dengan pvalue 0.001016416
## Tolak Ho yakni variabel bebas signifikan dengan pvalue 3.426018e-06
## Tolak Ho yakni variabel bebas signifikan dengan pvalue 4.115288e-07
## Gagal tolak Ho yakni variabel tidak signifikan dengan pvalue 0.1563207
## Tolak Ho yakni variabel bebas signifikan dengan pvalue 0.02840475
## Tolak Ho yakni variabel bebas signifikan dengan pvalue 0.02645588
## Tolak Ho yakni variabel bebas signifikan dengan pvalue 0.03036821
## Gagal tolak Ho yakni variabel tidak signifikan dengan pvalue 0.4434886
## Tolak Ho yakni variabel bebas signifikan dengan pvalue 7.090667e-06
## Tolak Ho yakni variabel bebas signifikan dengan pvalue 4.590781e-06
## Tolak Ho yakni variabel bebas signifikan dengan pvalue 3.481292e-06
## =============================================
## nilai t hitung
## =============================================
## [,1]
## [1,] -3.0592831
## [2,] -6.9001707
## [3,] -3.6050037
## [4,] 5.5702179
## [5,] -6.2903524
## [6,] 1.4506367
## [7,] -2.2922343
## [8,] 2.3235522
## [9,] -2.2625816
## [10,] 0.7756337
## [11,] 5.3240192
## [12,] -5.4711582
## [13,] 5.5647996
## Analysis of Variance
## =============================================
## Sumber df SS MS Fhit
## Regresi 12 34.90308 2.90859 15.78583
## Error 33 8.475648 0.1842532
## Total 45 43.37872
## =============================================
## s= 0.4292473 Rsq= 80.46128
## pvalue(F)= 2.318546e-10