knitr::opts_chunk$set(
echo = TRUE,
message = FALSE,
warning = FALSE,
fig.align = "center"
)
datos <- read.csv("C:/Users/USER/Downloads/regresion_logaritmica.csv",
header = TRUE,
sep = ";",
dec = ",",
fileEncoding = "latin1")
# Verificación inicial
str(datos)
## 'data.frame': 400 obs. of 2 variables:
## $ Hf_ppm_MS_ST : num 1.45 1.18 1.33 1.26 1.69 ...
## $ Zr_ppm_AES_ST: num 97.1 99.3 101.1 107.8 115 ...
# CARGA DE LIBRERÍAS
library(dplyr)
##
## Adjuntando el paquete: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
library(knitr)
library(gt)
library(MASS) # Necesaria para Estimación robusta
##
## Adjuntando el paquete: 'MASS'
## The following object is masked from 'package:dplyr':
##
## select
VAR_X <- as.numeric(datos$Hf_ppm_MS_ST)
VAR_Y <- as.numeric(datos$Zr_ppm_AES_ST)
# Crear pares de valores
TPV <- data.frame(VAR_X, VAR_Y)
# Limpieza de datos nulos, ceros y negativos
TPV <- na.omit(TPV)
TPV <- TPV[TPV$VAR_X > 0 & TPV$VAR_Y > 0, ]
# Permitir que R imprima muchos valores
options(max.print = 100000)
# Mostrar todos los valores
print(TPV, row.names = FALSE)
## VAR_X VAR_Y
## 1.4453 97.1471
## 1.1836 99.2623
## 1.3319 101.1309
## 1.2604 107.7597
## 1.6865 114.9736
## 2.0159 120.5713
## 2.0500 115.6072
## 2.2900 112.5838
## 0.8399 82.9711
## 2.5420 125.0000
## 0.6665 68.6464
## 1.3023 106.3341
## 0.4799 74.6079
## 0.6242 65.7812
## 2.1261 106.1106
## 0.6776 77.9295
## 0.7019 75.3885
## 1.0272 92.1295
## 0.7147 78.2920
## 1.7230 102.1732
## 0.9713 95.4584
## 1.6708 111.1076
## 0.4887 64.4891
## 1.5271 114.3189
## 0.7591 78.2093
## 1.2927 91.5340
## 2.0587 117.0488
## 1.1827 97.6344
## 0.7980 84.7629
## 2.3402 125.0000
## 1.3434 103.2313
## 1.2051 99.0006
## 3.1446 125.0000
## 2.3901 115.5977
## 1.0629 95.9004
## 0.9624 89.7710
## 0.4647 68.5739
## 1.3654 90.4857
## 1.6936 105.1308
## 1.9783 125.0000
## 0.5545 72.9294
## 0.6028 74.4650
## 1.7602 114.7711
## 0.7394 89.9416
## 0.9466 98.1173
## 2.0117 103.0846
## 1.2677 91.0916
## 1.2121 87.3750
## 0.8681 81.3709
## 1.3458 100.5465
## 1.3285 101.1921
## 1.3399 90.9606
## 1.2171 86.0598
## 1.5564 100.5223
## 1.3732 106.4543
## 1.6158 113.9379
## 1.5629 116.5689
## 1.1678 95.0308
## 2.2094 124.7974
## 0.6156 78.2480
## 1.3393 97.0944
## 2.9032 125.0000
## 0.5839 75.0144
## 2.2226 111.3368
## 1.2408 106.7515
## 0.6818 76.9223
## 2.1952 118.7297
## 1.9163 106.1862
## 1.4305 97.6084
## 0.6754 66.9407
## 1.7595 110.2704
## 1.0557 105.0378
## 0.7889 77.0292
## 0.6227 87.2171
## 1.7985 120.5321
## 0.9485 85.6222
## 1.9755 114.3429
## 3.1924 125.0000
## 1.7746 121.9839
## 1.2929 101.8162
## 1.9858 123.0441
## 1.1431 96.4404
## 1.0885 92.1580
## 1.3532 102.3657
## 0.9275 85.2191
## 2.7432 113.2739
## 1.9908 120.4333
## 0.4658 59.3010
## 1.1592 93.4600
## 1.9015 109.5775
## 1.1909 99.5132
## 3.0036 125.0000
## 1.8390 119.9988
## 0.7954 85.3195
## 1.2180 93.1107
## 1.2779 97.3162
## 1.1735 93.5454
## 0.9352 85.1725
## 0.9441 85.8279
## 0.4731 64.0702
## 0.9832 86.8124
## 3.0007 125.0000
## 1.1363 88.4566
## 2.3132 114.0984
## 1.3191 90.1628
## 0.4552 70.3363
## 0.9179 82.9194
## 0.6958 80.7478
## 1.2177 99.3798
## 0.5464 75.6849
## 0.9694 87.6944
## 2.3626 113.0206
## 1.5401 95.1156
## 2.1983 96.2798
## 1.2835 99.4764
## 2.1700 123.6478
## 0.5877 74.4175
## 1.3036 90.1122
## 1.6477 114.3828
## 1.2271 92.9716
## 0.5825 68.2367
## 0.8465 80.6912
## 2.7089 125.0000
## 0.7721 74.1659
## 2.1379 116.7807
## 2.0150 118.0662
## 1.0313 96.7283
## 2.0602 117.0195
## 0.6758 70.8010
## 2.1020 117.5727
## 0.8192 78.0111
## 1.1727 89.1214
## 0.9191 80.1185
## 2.9464 110.9721
## 0.9429 84.9495
## 0.9331 93.1800
## 1.3864 114.9306
## 2.1958 113.5669
## 0.9774 94.6492
## 2.7301 122.6604
## 1.4144 91.9055
## 0.7253 82.3169
## 1.0517 92.8197
## 0.4827 73.7827
## 2.0960 104.6510
## 0.6631 88.6706
## 0.8017 89.9649
## 0.7817 81.4673
## 2.6552 122.5257
## 2.6726 119.0566
## 0.7390 80.2160
## 2.2565 117.6083
## 0.5806 74.2172
## 1.1179 92.0792
## 2.1578 125.0000
## 1.4978 104.8386
## 0.9532 86.8886
## 1.2699 104.0966
## 2.0229 102.9300
## 0.6868 78.8719
## 1.0937 93.0643
## 1.4853 94.9073
## 2.4945 108.3197
## 2.3549 125.0000
## 0.7905 86.4839
## 0.6110 74.3627
## 0.5423 77.1116
## 2.0259 118.3608
## 0.6950 83.3775
## 0.5428 71.7030
## 1.2435 95.8378
## 0.7486 75.2161
## 1.1215 90.5004
## 0.9656 87.3203
## 0.6892 83.6007
## 1.0803 96.6394
## 2.4146 124.3469
## 1.4265 107.6400
## 0.6032 75.4888
## 0.9899 90.8446
## 2.4555 109.6384
## 1.0672 98.1668
## 1.8656 108.7790
## 3.1020 125.0000
## 0.6256 79.5436
## 0.7521 77.1628
## 0.7167 83.0580
## 0.8568 82.8338
## 1.4460 100.5915
## 1.0507 92.9052
## 0.9150 88.2358
## 2.1146 116.9545
## 0.6388 69.1381
## 2.8365 125.0000
## 1.1276 106.4752
## 1.3514 83.7396
## 0.6120 77.4436
## 1.3332 106.1578
## 1.3054 91.1609
## 1.4785 100.6478
## 1.0187 85.2284
## 2.0374 125.0000
## 1.3711 107.5200
## 1.9426 121.9001
## 0.5231 69.3169
## 2.0970 125.0000
## 0.5203 68.6199
## 1.9183 122.8746
## 2.1025 115.3127
## 0.7644 77.6315
## 2.1408 125.0000
## 1.6799 108.0646
## 2.6255 116.8549
## 3.0759 121.8406
## 0.7275 75.0267
## 3.0516 125.0000
## 1.1454 93.9886
## 1.0546 103.8910
## 2.9146 125.0000
## 1.1824 97.0878
## 1.1112 101.1227
## 0.4548 62.6617
## 2.9881 111.8692
## 0.5982 68.6769
## 1.0180 91.2203
## 1.9314 111.6970
## 0.4566 68.0608
## 2.4570 121.2051
## 1.3122 103.7246
## 0.8562 91.9034
## 0.7994 81.6816
## 1.0261 93.6403
## 0.7511 72.0729
## 0.6397 74.5152
## 0.4930 61.9955
## 0.7589 81.2556
## 1.5161 105.9824
## 1.2373 98.5738
## 1.1959 93.3421
## 0.7454 90.6549
## 0.4696 60.4681
## 3.0005 117.0225
## 1.4706 113.7099
## 1.8339 106.4524
## 2.0424 108.2947
## 0.7169 89.2591
## 0.6272 78.7563
## 0.5118 65.7008
## 1.3683 102.1186
## 1.2979 110.3276
## 1.8916 117.4983
## 3.0211 125.0000
## 0.7297 83.0018
## 1.5733 111.8355
## 0.4941 67.2603
## 1.3258 99.7542
## 1.1227 95.2962
## 1.1397 98.4039
## 0.9790 87.6484
## 1.0421 91.9015
## 1.9031 110.5381
## 1.3674 101.4810
## 1.0794 85.7462
## 0.6183 85.3460
## 1.7380 104.4413
## 1.1073 91.3909
## 1.0599 87.4719
## 1.4407 106.4537
## 1.3024 97.9047
## 0.8234 78.6354
## 0.5659 74.0128
## 1.8090 116.4311
## 0.9385 87.3323
## 0.8174 79.8436
## 3.1532 125.0000
## 2.1037 119.0613
## 0.8986 79.8586
## 1.9222 123.3581
## 1.5732 100.2936
## 1.2729 114.1469
## 0.6800 77.3683
## 2.2101 125.0000
## 0.7993 72.3888
## 1.3714 93.1650
## 2.4806 125.0000
## 0.9916 91.1927
## 1.3001 110.9612
## 1.4254 105.2474
## 0.9224 87.8134
## 0.6517 83.2513
## 2.6256 125.0000
## 0.7461 79.1096
## 0.7267 74.1272
## 1.0291 78.3373
## 1.3744 98.3320
## 0.9590 82.3430
## 1.2974 114.1282
## 1.8196 106.5660
## 0.6035 70.2939
## 1.0694 84.0039
## 0.5601 69.7759
## 0.4989 64.6630
## 1.9406 125.0000
## 2.3759 122.3826
## 1.1418 94.3759
## 1.6502 106.6629
## 1.3139 103.9971
## 2.2360 115.1512
## 0.7707 84.2176
## 1.2135 105.7089
## 0.5384 71.6198
## 0.6798 75.8784
## 0.8058 78.0035
## 0.9275 85.8850
## 0.6362 77.3642
## 2.2555 106.8542
## 1.2568 102.5869
## 1.3562 101.7373
## 2.0351 114.1251
## 0.9365 84.2605
## 0.8558 82.2312
## 3.0867 125.0000
## 3.0455 125.0000
## 0.5299 67.1209
## 0.5636 73.0840
## 0.7547 82.7647
## 0.5578 65.4971
## 1.9113 117.0443
## 0.8158 94.9598
## 1.3875 104.1515
## 1.4373 92.1012
## 0.6610 76.8948
## 1.4517 91.5871
## 2.6976 125.0000
## 1.9544 125.0000
## 0.7206 75.8324
## 1.9492 97.2824
## 0.7570 76.3980
## 0.5358 68.7864
## 1.0128 81.0614
## 0.5982 72.6512
## 1.0514 90.5659
## 2.7666 125.0000
## 1.7756 111.8102
## 1.0113 85.1783
## 0.6272 70.6986
## 1.3643 100.9806
## 0.6652 73.4893
## 0.5052 71.4924
## 1.0496 91.6918
## 1.2586 108.6031
## 1.2247 101.5536
## 1.0211 96.3424
## 3.0428 125.0000
## 1.0632 92.7867
## 0.4850 73.5856
## 1.7560 107.2221
## 0.6355 77.2566
## 1.0747 90.8917
## 1.1266 92.4846
## 1.0519 85.3643
## 0.5639 67.9628
## 1.3013 93.5829
## 2.9574 125.0000
## 1.0770 97.9777
## 0.9204 86.5342
## 0.7740 82.3042
## 0.6674 75.7294
## 1.1000 88.7322
## 0.5341 73.0452
## 2.4186 125.0000
## 1.3129 88.1952
## 1.3425 98.4478
## 0.8833 81.2594
## 0.4741 64.2892
## 0.5208 65.9026
## 2.4756 122.1431
## 0.7358 78.0431
## 3.1690 125.0000
## 1.8742 120.0930
## 1.1864 98.8904
## 0.5390 66.7790
## 0.4587 62.6688
## 1.4940 107.0505
## 2.2774 123.3448
## 1.1426 91.1187
## 0.9981 88.5540
## 0.5525 78.2689
## 1.1064 90.1399
## 0.8603 94.0857
## 1.2264 103.2183
## 1.8735 124.4789
## 0.7591 77.6485
## 3.1243 125.0000
## 0.5104 66.2180
## 0.7078 83.4386
## 2.5566 118.8481
## 2.2671 125.0000
## 1.4359 106.7134
## 2.7105 125.0000
plot(TPV$VAR_X, TPV$VAR_Y,
pch = 16,
col = "darkblue",
cex = 0.7,
main = "Gráfica N°1: Diagrama de Dispersión\nHafnio (Hf) sobre Circonio (Zr)",
xlab = "Concentración de Hafnio (ppm)",
ylab = "Concentración de Circonio (ppm)")
grid(nx = NULL, ny = NULL, col = "lightgray", lty = "dotted")
Debido a la similitud de la nube de puntos conjeturamos a un modelo logarítmico
# Modelo logarítmico: Y = a + b ln(X)
regresion_logaritmico <- lm(VAR_Y ~ log(VAR_X), data = TPV)
summary(regresion_logaritmico)
##
## Call:
## lm(formula = VAR_Y ~ log(VAR_X), data = TPV)
##
## Residuals:
## Min 1Q Median 3Q Max
## -20.2335 -3.7609 -0.1579 3.6402 15.6218
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 90.5810 0.3160 286.68 <2e-16 ***
## log(VAR_X) 32.9221 0.5838 56.39 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 6.002 on 398 degrees of freedom
## Multiple R-squared: 0.8888, Adjusted R-squared: 0.8885
## F-statistic: 3180 on 1 and 398 DF, p-value: < 2.2e-16
# Extraer coeficientes
a <- coef(regresion_logaritmico)[1]
b <- coef(regresion_logaritmico)[2]
# Gráfico con curva logarítmica
plot(TPV$VAR_X, TPV$VAR_Y,
pch = 16,
col = "blue",
cex = 0.7,
main = "Gráfica N°2: Modelo Logarítmico\nHafnio (Hf) sobre Circonio (Zr)",
xlab = "Concentración de Hafnio (ppm)",
ylab = "Concentración de Circonio (ppm)")
grid(nx = NULL, ny = NULL, col = "lightgray", lty = "dotted")
# Crear valores ordenados para que la curva salga suave
x_ordenado <- seq(min(TPV$VAR_X), max(TPV$VAR_X), length.out = 400)
y_ajustado <- a + b * log(x_ordenado)
lines(x_ordenado, y_ajustado,
col = "red",
lwd = 2)
4.1 ECUACIÓN DEL MODELO
plot(1, type = "n", axes = FALSE, xlab = "", ylab = "")
eq <- paste0(
"Ecuación logarítmica\n",
"Y = a + b log(x)\n",
"Y = ", round(a, 2), " + ", round(b, 2), " log(x)"
)
text(1, 1, labels = eq, cex = 1.7, col = "blue", font = 2)
5.1 Test de pearson
r <- cor(log(TPV$VAR_X), TPV$VAR_Y)
r * 100
## [1] 94.27403
5.2 COEFICIENTE DE DETERMINACIÓN
r2 <- r^2
r2 * 100
## [1] 88.87593
5.3 RESTRICCIONES
min(TPV$VAR_X)
## [1] 0.4548
max(TPV$VAR_X)
## [1] 3.1924
Sí existe una restricción de aplicabilidad, ya que el modelo logarítmico es estadísticamente confiable únicamente dentro del rango de valores observados del contenido de Hafnio (ppm), el cual varía entre 0.4548 y 3.1924. Al intentar realizar predicciones fuera de este intervalo, el modelo pierde capacidad predictiva y puede no representar adecuadamente el comportamiento geoquímico real de las muestras de minas archivadas.
¿Cuál sería la concentración esperada de Circonio si el contenido analizado de Hafnio es de 2 ppm?
# 1. Definimos el valor de entrada para el elemento independiente
x_input <- 2
# 2. Aplicamos la ecuación del modelo logarítmico: Y = a + b * ln(X)
y_esp <- a + (b * log(x_input))
# 3. Imprimimos el valor exacto en consola para verificación
cat("Concentración esperada calculada:", y_esp, "\n")
## Concentración esperada calculada: 113.4009
# 4. Generamos el gráfico de presentación
plot(1, type = "n", axes = FALSE, xlab = "", ylab = "")
resultado_texto <- paste0(
"¿Cuál sería la concentración esperada de Circonio (Zr)\n",
"si el contenido analizado de Hafnio (Hf) es de ", x_input, " ppm?\n\n",
"R = ", round(y_esp, 4), " ppm"
)
text(x = 1, y = 1,
labels = resultado_texto,
cex = 1.3,
col = "blue",
font = 2)
Entre el contenido de Hafnio (ppm) y la concentración de Circonio (ppm) se observa una relación de tipo logarítmica, representada por el modelo \(f(x) =90.58+32.92 \log(x)\), donde \(x\) corresponde al contenido de Hafnio y \(y\) a la concentración de Circonio. El modelo presenta una alta confiabilidad dentro del rango geoquímico observado, el cual varía entre 0.4548 y 3.1924 de Hafnio. Se determina que la variabilidad en la concentración de Circonio está explicada significativamente por el modelo logarítmico, mientras que el porcentaje residual de la variabilidad se atribuye a factores geológicos, variaciones en la cristalización fraccionada o la saturación del sistema mineralizante no contemplados en este análisis.
Ejemplo de aplicación: Cuando el contenido de Hafnio es de 2 ppm, el modelo predice una concentración de Circonio aproximada de 113.4009 ppm.