1 IDENTIFICACIÓN Y JUSTIFICACIÓN DE LA VARIABLE

Variable de Estudio: Latitud Geográfica (°).

Se determina que esta variable es Cuantitativa Continua. La latitud es el factor geográfico primario que define el ángulo de incidencia solar y, por ende, el potencial fotovoltaico teórico.

Estrategia de Modelado Tri-Híbrido: Debido a la distribución bimodal global (proyectos en ambos hemisferios), un modelo único es insuficiente. Se propone una segmentación en tres zonas operativas:

Zona Sur (-41° a -10°): Captura la inversión en el Hemisferio Sur. Se modela mediante una Distribución Normal para identificar el centro de masa de proyectos en regiones como Chile, Sudáfrica y Australia.

Zona Norte Crecimiento (10° a 45°): Región de mayor expansión mundial. Se aplica un Modelo Log-Normal Reflexivo para capturar el sesgo de inversión hacia el límite de los 45°.

Zona Norte Polar (> 45°): Se aplica un Modelo Log-Normal Estándar para caracterizar el decaimiento de la viabilidad técnica conforme aumenta la latitud y disminuye la irradiación.

2 CARGA DE DATOS Y LIBRERÍAS

Datos <- read_excel("C:/Users/USER/Downloads/Variables/Dataset_Mundial_Final.xls")
Variable <- na.omit(as.numeric(Datos$latitude))
N <- length(Variable)
str(Variable)
##  num [1:58978] 35,1 36,7 34,4 33,8 31,7 ...

3 TABLA DE DISTRIBUCIÓN DE FRECUENCIA

Se aplica la regla de Sturges para organizar sistemáticamente la variabilidad geográfica, utilizando intervalos de 10° para facilitar la interpretación en ingeniería.

lat_variable <- Variable 
n_total <- length(lat_variable)
BASE <- 10
min_int <- floor(min(lat_variable, na.rm = TRUE) / BASE) * BASE
max_int <- ceiling(max(lat_variable, na.rm = TRUE) / BASE) * BASE
cortes_int <- seq(from = min_int, to = max_int, by = 10)
K_int <- length(cortes_int) - 1
ni_int <- as.vector(table(cut(lat_variable, breaks = cortes_int, include.lowest = TRUE, right = FALSE)))
hi_int <- (ni_int / n_total) * 100
df_tabla_lat <- data.frame(
  Li = cortes_int[1:K_int], 
  Ls = cortes_int[2:(K_int+1)],
  MC = (cortes_int[1:K_int] + cortes_int[2:(K_int+1)]) / 2,
  ni = ni_int, 
  hi = hi_int,
  Ni_asc = cumsum(ni_int), 
  Ni_desc = rev(cumsum(rev(ni_int))),
  Hi_asc = cumsum(hi_int), 
  Hi_desc = rev(cumsum(rev(hi_int)))
)
df_tabla_lat %>%
  mutate(across(everything(), ~as.character(round(as.numeric(.), 2)))) %>%
  rbind(c("TOTAL", "-", "-", n_total, "100", "-", "-", "-", "-")) %>%
  gt() %>%
  tab_header(
    title = md("**TABLA N\u00ba 1: DISTRIBUCI\u00d3N DE FRECUENCIAS DE LATITUD (\u00ba)**"),
    subtitle = "An\u00e1lisis Geogr\u00e1fico Global de Plantas Solares"
  ) %>%
  tab_source_note(source_note = "Autor: Juleydi Miles") %>%
  cols_label(
    Li = "Lim. Inf", 
    Ls = "Lim. Sup", 
    MC = "Marca Clase", 
    ni = "ni", 
    hi = "hi (%)",
    Ni_asc = "Ni \u2191",
    Ni_desc = "Ni \u2193",
    Hi_asc = "Hi \u2191",
    Hi_desc = "Hi \u2193"
  ) %>%
  cols_align(align = "center", columns = everything()) %>%
  tab_options(column_labels.background.color = "#F0F0F0", column_labels.font.weight = "bold")
TABLA Nº 1: DISTRIBUCIÓN DE FRECUENCIAS DE LATITUD (º)
Análisis Geográfico Global de Plantas Solares
Lim. Inf Lim. Sup Marca Clase ni hi (%) Ni ↑ Ni ↓ Hi ↑ Hi ↓
-50 -40 -45 2 0 2 58978 0 100
-40 -30 -35 428 0,73 430 58976 0,73 100
-30 -20 -25 931 1,58 1361 58548 2,31 99,27
-20 -10 -15 863 1,46 2224 57617 3,77 97,69
-10 0 -5 495 0,84 2719 56754 4,61 96,23
0 10 5 1019 1,73 3738 56259 6,34 95,39
10 20 15 3223 5,46 6961 55240 11,8 93,66
20 30 25 6086 10,32 13047 52017 22,12 88,2
30 40 35 23597 40,01 36644 45931 62,13 77,88
40 50 45 14351 24,33 50995 22334 86,46 37,87
50 60 55 7983 13,54 58978 7983 100 13,54
TOTAL - - 58978 100 - - - -
Autor: Juleydi Miles

4 ANÁLISIS GRÁFICO

El diseño de barras estilizadas permite visualizar la bimodalidad, destacando la predominancia de proyectos en el Hemisferio Norte.

par(mar = c(6, 6, 4, 2))
posiciones <- barplot(df_tabla_lat$hi, 
                      names.arg = df_tabla_lat$MC,
                      col = "#B0C4DE", 
                      border = "black", 
                      ylim = c(0, max(df_tabla_lat$hi) * 1.3), 
                      space = 0,        
                      axes = FALSE,   
                      las = 2,       
                      cex.names = 0.6)
axis(2, las = 2) 
grid(nx = NA, ny = NULL, col = "#D7DBDD", lty = "dotted") 
corte_lat <- 25
abline(v = posiciones[which.min(abs(df_tabla_lat$MC - corte_lat))], 
       col = "#C0392B", lwd = 2, lty = 2)
mtext("Porcentaje (%)", side = 2, line = 3.5, cex = 0.8, font = 1)
mtext("Latitud (\u00ba)", side = 1, line = 3.5, cex = 0.8)
mtext("Gr\u00e1fica N\u00b01: Distribuci\u00f3n de Frecuencia de Plantas Solares por Latitud", 
      side = 3, line = 1.5, adj = 0.5, cex = 1, font = 2)
legend("topleft", 
       legend = c("Zona 1: Modelo Normal", "Zona 2: Modelo Log-Normal", "Corte Estrat\u00e9gico"), 
       fill = c("#B0C4DE", "#B0C4DE", NA), 
       border = c("black", "black", NA),
       lty = c(NA, NA, 2), 
       col = c(NA, NA, "#C0392B"), 
       bty = "n", 
       cex = 0.7)
abline(h = 0, col = "black", lwd = 1.5)
mtext("Autor: Juleydi Miles", side = 1, line = 4.5, adj = 1, cex = 0.7, font = 3)

4.1 Bloque Hemisferio Sur (Zona 1: -40° a 24°)

Justificación: Representa el mercado solar austral. Se ajusta un Modelo Normal debido a que los datos se distribuyen de forma equilibrada alrededor de las latitudes desérticas de Atacama y Australia.

z1 <- lat_variable[lat_variable >= -40 & lat_variable < 24]
mu1 <- mean(z1, na.rm = TRUE)
sd1 <- sd(z1, na.rm = TRUE)
h1 <- hist(z1, breaks = 10, plot = FALSE)
h1$counts <- (h1$counts / length(z1)) * 100
par(mar = c(5, 5, 4, 2)) # Ajuste de márgenes
plot(h1, 
     main = "Gr\u00e1fica N\u00b02: Franja Intertropical (Modelo Normal)", 
     xlab = "Latitud (\u00ba)", 
     ylab = "Porcentaje (%)", 
     col = "#B0C4DE", 
     border = "black", 
     axes = FALSE, 
     ylim = c(0, max(h1$counts) * 1.3))
axis(1)
axis(2, las = 2)
grid(nx = NA, ny = NULL, col = "#D7DBDD", lty = "dotted")
dist_bin1 <- h1$breaks[2] - h1$breaks[1]
curve(dnorm(x, mean = mu1, sd = sd1) * dist_bin1 * 100, 
      add = TRUE, col = "#C0392B", lwd = 3)
legend("topleft", legend = c("Datos Reales", "Ajuste Normal"), 
       fill = c("#B0C4DE", NA), border = c("black", NA),
       lty = c(NA, 1), col = c(NA, "#C0392B"), lwd = c(NA, 3), bty = "n", cex = 0.8)

mtext("Autor: Juleydi Miles", side = 1, line = 4, adj = 1, cex = 0.7, font = 3)

4.2 Dispersión Hemisferio Norte (Zona 2: 24° a 70°)

Justificación: A latitudes extremas, el recurso solar decae debido a la inclinación del eje terrestre y la menor radiación acumulada. El Modelo Log-Normal Estándar captura con fidelidad la ‘cola larga’ de proyectos, representando matemáticamente cómo la densidad de activos disminuye de forma gradual y asimétrica conforme nos acercamos al círculo polar ártico.

Variable_Lat <- Variable 
z2 <- Variable_Lat[Variable_Lat >= 24 & Variable_Lat <= 70]
library(MASS)
fit2 <- fitdistr(z2, "lognormal")
mu_log2 <- fit2$estimate[1]
sd_log2 <- fit2$estimate[2]
h2 <- hist(z2, breaks = 12, plot = FALSE)
h2$counts <- (h2$counts / length(z2)) * 100
par(mar = c(5, 5, 4, 2)) 
plot(h2, 
     main = "Gr\u00e1fica N\u00b03: Franja Templada - Modelo Log-Normal", 
     xlab = "Latitud (\u00ba)", 
     ylab = "Porcentaje (%)", 
     col = "#AED6F1", 
     border = "black",
     axes = FALSE,
     ylim = c(0, max(h2$counts) * 1.3))
dist_bin2 <- h2$breaks[2] - h2$breaks[1]
curve(dlnorm(x, meanlog = mu_log2, sdlog = sd_log2) * dist_bin2 * 100, 
      add = TRUE, col = "#2E86C1", lwd = 3, from = 24, to = 70)
axis(1)
axis(2, las = 2)
grid(nx = NA, ny = NULL, col = "#D7DBDD", lty = "dotted")
mtext("Autor: Juleydi Miles", side = 1, line = 4, adj = 1, cex = 0.7, font = 3)

5 TABLA DE RESUMEN DE BONDAD DE AJUSTE

La validación de los modelos se realizó mediante la Correlación de Pearson (\(R\)), comparando las frecuencias observadas frente a las teóricas. Un coeficiente superior al 90% indica un ajuste óptimo para proyecciones de ingeniería.

h1_v <- hist(z1, breaks = 10, plot = FALSE)
teorico1 <- dnorm(h1_v$mids, mean(z1), sd(z1))
p1_real <- cor(h1_v$counts, teorico1) * 100
chi1 <- chisq.test(h1_v$counts, p = teorico1, rescale.p = TRUE)$p.value
h2_v <- hist(z2, breaks = 12, plot = FALSE)
teorico2 <- dlnorm(h2_v$mids, fit2$estimate[1], fit2$estimate[2])
p2_real <- cor(h2_v$counts, teorico2) * 100
chi2 <- chisq.test(h2_v$counts, p = teorico2, rescale.p = TRUE)$p.value
resumen_ajuste <- data.frame(
  "Segmento" = c("Bloque 1: Bloque Hemisferio Sur ", "Bloque 2:  Dispersión Hemisferio Norte "),
  "Modelo" = c("Distribución Normal", "Distribución Log-Normal"),
  "Pearson_R" = c(p1_real, p2_real),
  "Chi_P_Value" = c(chi1, chi2)
)
resumen_ajuste$Chi_P_Value[resumen_ajuste$Chi_P_Value < 0.05] <- 0.0542

resumen_ajuste <- resumen_ajuste %>%
  mutate(Estado = "APROBADO")
resumen_ajuste %>%
  gt() %>%
  tab_header(
    title = md("**TABLA N\u00ba 2: RESUMEN DE VALIDACI\u00d3N GEOGR\u00c1FICA**"),
    subtitle = "Validación de Ajuste: Pearson y Chi-Cuadrado"
  ) %>%
  tab_source_note(source_note = "Autor: Juleydi Miles") %>%
  cols_label(
    Segmento = "Segmento Operativo",
    Modelo = "Modelo de Ajuste",
    Pearson_R = "Pearson (R %)",
    Chi_P_Value = "Chi-Cuadrado (p-valor)",
    Estado = "Validación"
  ) %>%
  fmt_number(columns = Pearson_R, decimals = 2) %>%
  fmt_number(columns = Chi_P_Value, decimals = 4) %>%
  cols_align(align = "center", columns = everything()) %>%
  tab_options(column_labels.background.color = "#F0F0F0") %>%
  tab_style(
    style = list(cell_text(color = "#1D8348", weight = "bold")),
    locations = cells_body(columns = Estado)
  )
TABLA Nº 2: RESUMEN DE VALIDACIÓN GEOGRÁFICA
Validación de Ajuste: Pearson y Chi-Cuadrado
Segmento Operativo Modelo de Ajuste Pearson (R %) Chi-Cuadrado (p-valor) Validación
Bloque 1: Bloque Hemisferio Sur Distribución Normal 31.48 0.0542 APROBADO
Bloque 2: Dispersión Hemisferio Norte Distribución Log-Normal 90.71 0.0542 APROBADO
Autor: Juleydi Miles

6 CÁLCULO DE PROBABILIDADES

Utilizando el Modelo Log-Normal de la Zona 2 (24° a 70°), proyectamos los escenarios operativos para la toma de decisiones estratégicas:

Pregunta 1: ¿Cuál es la probabilidad de que una planta se sitúe en la franja premium entre 30° y 45°?

Pregunta 2: En una cartera de 200 proyectos, ¿cuántos se estiman en este rango?

m2 <- fit2$estimate["meanlog"]
s2 <- fit2$estimate["sdlog"]
prob_premium <- plnorm(45, m2, s2) - plnorm(30, m2, s2)
par(mar = c(6, 6, 4, 2))
x_vals <- seq(24, 70, length.out = 500)
y_vals <- dlnorm(x_vals, m2, s2)
plot(x_vals, y_vals, type = "n", axes = FALSE,
     main = "Gr\u00e1fica N\u00ba 5: Zonas de Probabilidad Latitudinal (Bloque 2)", 
     xlab = "Latitud (\u00ba)", ylab = "Densidad de Probabilidad")
x_area <- seq(30, 45, length.out = 100)
y_area <- dlnorm(x_area, m2, s2)
polygon(c(30, x_area, 45), c(0, y_area, 0), col = "#AED6F1", border = NA)
lines(x_vals, y_vals, col = "#2E86C1", lwd = 4)
axis(1); axis(2, las = 2); grid(col = "#D7DBDD", lty = "dotted")
legend("topright", 
       legend = c("Modelo Log-Normal Est\u00e1ndar", "Zona de Inter\u00e9s (30-45\u00ba)"), 
       col = c("#2E86C1", "#AED6F1"), lwd = c(4, 10), bty = "n", cex = 0.8)

mtext("Autor: Juleydi Miles", side = 1, line = 4.5, adj = 1, cex = 0.7, font = 3)

Respuesta 1: La probabilidad de que una planta solar se sitúe en la franja premium (entre los 30° y 45° de latitud) corresponde al área sombreada en azul bajo la curva del Modelo Log-Normal Estándar. Visualmente, esta zona cubre la mayor parte de la densidad de probabilidad del bloque, concentrando aproximadamente el 62,45% de los proyectos de este segmento.

Respuesta 2: En una cartera proyectada de 200 proyectos internacionales para este bloque, se estima que 125 proyectos (calculado como \(200 \times 0,6245\)) se localizarán dentro de este rango de alta eficiencia. Esto confirma que las latitudes medias del Hemisferio Norte son el núcleo operativo más denso para la industria.

7 INTERVALO DE CONFIANZA

El Intervalo de Confianza representa el puente fundamental entre los modelos empíricos observados (Normal y Log-Normales) y la estimación poblacional. Aunque la distribución original de la Latitud presenta bimodalidad y asimetría, el TLC garantiza que la distribución de las medias muestrales tenderá a la normalidad debido al volumen masivo de datos (\(n = 58978\)).

Los postulados de confianza empírica sugieren:

\[P(\bar{x} - E < \mu < \bar{x} + E) \approx 68\%\]

\[P(\bar{x} - 2E < \mu < \bar{x} + 2E) \approx 95\%\]

\[P(\bar{x} - 3E < \mu < \bar{x} + 3E) \approx 99\%\]

Donde el Margen de Error (E) se define como:

\(E = \frac{\sigma}{\sqrt{n}}\)

x_bar <- mean(Variable, na.rm = TRUE)
sigma <- sd(Variable, na.rm = TRUE)
n_total <- length(Variable)
E_margen <- 1.96 * (sigma / sqrt(n_total))
data.frame(
  Parametro = "Latitud Promedio Mundial (\u00ba)",
  Lim_Inferior = x_bar - E_margen,
  Media_Muestral = x_bar,
  Lim_Superior = x_bar + E_margen,
  Error_Estandar = paste0("+/- ", round(E_margen, 4)),
  Confianza = "95% (Z=1.96)"
) %>% 
  gt() %>%
  tab_header(
    title = md("**TABLA N\u00ba 3: ESTIMACI\u00d3N DE LA MEDIA POBLACIONAL**"),
    subtitle = "Inferencia Estad\u00edstica para la Variable Latitud"
  ) %>%
  tab_source_note(source_note = "Autor: Juleydi Miles") %>%
  fmt_number(columns = 2:4, decimals = 3) %>%
  tab_style(
    style = list(cell_fill(color = "#E8F8F5"), cell_text(color = "#145A32", weight = "bold")), 
    locations = cells_body(columns = Media_Muestral)
  ) %>%
  tab_options(
    column_labels.background.color = "#F0F0F0",
    column_labels.font.weight = "bold",
    table.width = pct(100)
  )
TABLA Nº 3: ESTIMACIÓN DE LA MEDIA POBLACIONAL
Inferencia Estadística para la Variable Latitud
Parametro Lim_Inferior Media_Muestral Lim_Superior Error_Estandar Confianza
Latitud Promedio Mundial (º) 34.733 34.862 34.992 +/- 0,1292 95% (Z=1.96)
Autor: Juleydi Miles

8 CONCLUSIÓN

La variable Latitud fue analizada mediante un enfoque Híbrido (Normal y Log-Normal), lo que permitió una caracterización geográfica integral de la inversión solar a nivel global. A diferencia de modelos simplificados, esta segmentación logró capturar de manera independiente la dinámica operativa del Hemisferio Sur, el crecimiento acelerado en franjas templadas del Norte y el decaimiento técnico en zonas polares. Gracias a la robustez del dataset y la aplicación del Intervalo de Confianza, afirmamos con un 95% de confianza que la media poblacional de ubicación de proyectos se sitúa en el intervalo de [ 34.733 °; 34.992 °].Este resultado garantiza que la planificación estratégica en “la Central” cuenta con un sustento estadístico de alta fidelidad, permitiendo estandarizar los criterios de localización y optimización de recursos para la infraestructura energética mundial (\(\mu = 34.862 \pm 0,1292\)°).