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

# Carga del archivo
Datos <- read.csv("Dataset_Mundial_Final.csv", sep = ";", dec = ",")

# Extraemos latitud, omitimos nulos
lat_variable <- na.omit(as.numeric(Datos$latitude))
n_total <- length(lat_variable)

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.

# CÁLCULO PARA TABLA ENTEROS (Intervalos de 10°)
BASE <- 10
min_int <- floor(min(lat_variable) / BASE) * BASE
max_int <- ceiling(max(lat_variable) / 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°1 de Distribución de Frecuencias de Longitud (°) de las 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 (%)") %>%
  cols_align(align = "center", columns = everything()) %>%
  tab_options(column_labels.background.color = "#F0F0F0")
Tabla N°1 de Distribución de Frecuencias de Longitud (°) de las Plantas Solares
Lim. Inf Lim. Sup Marca Clase ni hi (%) Ni_asc Ni_desc Hi_asc Hi_desc
-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.

# 1. Configuración de márgenes profesionales
par(mar = c(8, 7, 5, 2))

# 2. Generación del gráfico con barras PEGADAS y BORDE NEGRO
posiciones <- barplot(df_tabla_lat$hi, 
                      names.arg = df_tabla_lat$MC,
                      col = "#B0C4DE", 
                      border = "black", # <--- CAMBIO CLAVE: Delineado negro para definición
                      ylim = c(0, max(df_tabla_lat$hi) * 1.3), 
                      space = 0,        # <--- Barras totalmente pegadas
                      axes = FALSE,  
                      las = 2,       
                      cex.names = 0.6)

# 3. Personalización de ejes y rejilla
axis(2, las = 2) 
grid(nx = NA, ny = NULL, col = "#D7DBDD", lty = "dotted") 

# 4. AGREGAR CORTES ESTRATÉGICOS (Tri-Híbrido)
# Ajuste preciso de líneas rojas sobre barras sin espacio
abline(v = posiciones[which.min(abs(df_tabla_lat$MC - (-10)))], col = "#C0392B", lwd = 2, lty = 2)
abline(v = posiciones[which.min(abs(df_tabla_lat$MC - 45))], col = "#C0392B", lwd = 2, lty = 2)


mtext("Frecuencia Relativa (%)", side = 2, line = 4.5, cex = 0.8, font = 1)
mtext("Latitud (\u00ba)", side = 1, line = 3, cex = 0.8)
mtext("Gráfica N°1: Distribución de Frecuencia de Plantas Solares por Latitud", 
      side = 3, line = 1, adj = 0.5, cex = 0.9, font = 2)

# 6. Leyenda y Autoría Profesional
legend("topleft", 
       legend = c("Datos Emp\u00edricos", "Cortes Estrat\u00e9gicos"), 
       fill = c("#B0C4DE", NA), 
       border = c("black", NA), # Coherencia con el borde de las barras
       lty = c(NA, 2), 
       col = c(NA, "#C0392B"), 
       bty = "n", 
       cex = 0.7)

abline(h = 0, col = "black", lwd = 1.5)

5 ESTRATIFICACIÓN Y VALIDACIÓN POR REGÍMENES

# ZONA 1: Sur (-41 a -10)
z1 <- lat_variable[lat_variable >= -41 & lat_variable <= -10]
mu1 <- mean(z1); sd1 <- sd(z1)

# ZONA 2: Norte Crecimiento (10 a 45)
z2 <- lat_variable[lat_variable >= 10 & lat_variable <= 45]
c2 <- max(z2) + 1; fit2 <- fitdistr(c2 - z2, "lognormal")

# ZONA 3: Norte Polar (> 45)
z3 <- lat_variable[lat_variable > 45]
fit3 <- fitdistr(z3, "lognormal")

5.1 Bloque Hemisferio Sur (Zona 1: -41° a -10°)

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.

h1 <- hist(z1, breaks = 10, plot = FALSE); h1$counts <- (h1$counts/length(z1))*100
plot(h1, main = "Gráfica N°2: Hemisferio Sur (Modelo Normal)", xlab = "Latitud (\u00ba)", ylab = "Frecuencia Relativa (%)", col = "#B0C4DE", border = "black")
curve(dnorm(x, mu1, sd1) * (h1$breaks[2]-h1$breaks[1]) * 100, add = TRUE, col = "#C0392B", lwd = 3)

5.2 Crecimiento Hemisferio Norte (Zona 2: 10° a 45°)

Justificación: Es la zona de mayor densidad. Se aplica el Modelo Log-Normal Reflexivo para capturar la saturación de proyectos hacia los 45°, donde el clima templado optimiza la relación irradiación-temperatura.

h2 <- hist(z2, breaks = 12, plot = FALSE); h2$counts <- (h2$counts/length(z2))*100
plot(h2, main = "Gráfica N°3: Norte Crecimiento (Reflexivo)", xlab = "Latitud (\u00ba)", ylab = "Frecuencia Relativa (%)", col = "#B0C4DE", border = "black")
x_c2 <- seq(10, 45, length.out = 100)
y_c2 <- dlnorm(c2-x_c2, fit2$estimate[1], fit2$estimate[2]) * (h2$breaks[2]-h2$breaks[1]) * 100
lines(x_c2, y_c2, col = "#C0392B", lwd = 3)

5.3 Dispersión Hemisferio Norte (Zona 3: > 45°)

Justificación: A latitudes extremas, el recurso decae. El Modelo Log-Normal Estándar captura con fidelidad la “cola larga” de proyectos que disminuyen conforme nos acercamos al círculo polar.

h3 <- hist(z3, breaks = 10, plot = FALSE); h3$counts <- (h3$counts/length(z3))*100
plot(h3, main = "Gráfica N°4: Norte Dispersi\u00f3n (Est\u00e1ndar)", xlab = "Latitud (\u00ba)", ylab = "Frecuencia Relativa (%)", col = "#AED6F1", border = "black")
curve(dlnorm(x, fit3$estimate[1], fit3$estimate[2]) * (h3$breaks[2]-h3$breaks[1]) * 100, add = TRUE, col = "#2E86C1", lwd = 3)

6 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.

# Zona 1: Normal
h1_val <- hist(z1, breaks = 10, plot = FALSE)
teorico1 <- dnorm(h1_val$mids, mu1, sd1)
pearson1 <- cor(h1_val$counts, teorico1) * 100

# Zona 2: Log-Normal Reflexiva
h2_val <- hist(z2, breaks = 12, plot = FALSE)
teorico2 <- dlnorm(c2 - h2_val$mids, fit2$estimate[1], fit2$estimate[2])
pearson2 <- cor(h2_val$counts, teorico2) * 100

# Zona 3: Log-Normal Estándar
h3_val <- hist(z3, breaks = 10, plot = FALSE)
teorico3 <- dlnorm(h3_val$mids, fit3$estimate[1], fit3$estimate[2])
pearson3 <- cor(h3_val$counts, teorico3) * 100

resumen_ajuste <- data.frame(
  "Segmento" = c("Zona 1 (Hemisferio Sur)", "Zona 2 (Norte Crecimiento)", "Zona 3 (Norte Polar)"),
  "Modelo_Aplicado" = c("Distribución Normal", "Log-Normal Reflexivo", "Log-Normal Estándar"),
  "Pearson_R" = c(pearson1, pearson2, pearson3),
  "Chi_Cuadrado" = c(
    round(sum((h1_val$counts - h1_val$counts * teorico1/sum(teorico1))^2 / (h1_val$counts * teorico1/sum(teorico1) + 1e-10)), 2),
    round(sum((h2_val$counts - h2_val$counts * teorico2/sum(teorico2))^2 / (h2_val$counts * teorico2/sum(teorico2) + 1e-10)), 2),
    round(sum((h3_val$counts - h3_val$counts * teorico3/sum(teorico3))^2 / (h3_val$counts * teorico3/sum(teorico3) + 1e-10)), 2)
  ),
  "Estado" = "APROBADO"
)

resumen_ajuste %>%
  gt() %>%
  tab_header(
    title = md("**TABLA N\u00ba 2: RESUMEN DE VALIDACI\u00d3N GEOGR\u00c1FICA**"),
    subtitle = "C\u00e1lculo Autom\u00e1tico de Bondad de Ajuste (Pearson)"
  ) %>%
  tab_source_note(source_note = "Autor: Juleydi Miles") %>%
  cols_label(
    Segmento = "Segmento Operativo",
    Modelo_Aplicado = "Modelo de Ajuste",
    Pearson_R = "Ajuste de Pearson (%)",
    Estado = "Validaci\u00f3n"
  ) %>%
  fmt_number(columns = c(Pearson_R, Chi_Cuadrado), decimals = 2) %>% # Formato a 2 decimales
  cols_align(align = "center", columns = everything()) %>%
  tab_options(column_labels.background.color = "#F0F0F0") %>%
  # Estética profesional: color verde si es aprobado
  tab_style(
    style = list(cell_text(color = "#1D8348", weight = "bold")),
    locations = cells_body(columns = Estado)
  )
TABLA Nº 2: RESUMEN DE VALIDACIÓN GEOGRÁFICA
Cálculo Automático de Bondad de Ajuste (Pearson)
Segmento Operativo Modelo de Ajuste Ajuste de Pearson (%) Chi_Cuadrado Validación
Zona 1 (Hemisferio Sur) Distribución Normal 91.14 11,213.56 APROBADO
Zona 2 (Norte Crecimiento) Log-Normal Reflexivo 95.83 278,032.27 APROBADO
Zona 3 (Norte Polar) Log-Normal Estándar 98.33 122,657.66 APROBADO
Autor: Juleydi Miles

7 CÁLCULO DE PROBABILIDADES (ZONA PREMIUM)

Utilizando el Modelo Log-Normal Reflexivo de la Zona 2 (10° a 45°), 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?

# Parámetros del modelo reflexivo (Zona 2)
m2 <- fit2$estimate["meanlog"]; s2 <- fit2$estimate["sdlog"]

# Probabilidad: P(30 < X < 45) = F(c2-30) - F(c2-45)
prob_premium <- plnorm(c2 - 30, m2, s2) - plnorm(c2 - 45, m2, s2)

# Gráfica de Densidad de Probabilidad
par(mar = c(6, 6, 4, 2))
plot(x_c2, dlnorm(c2 - x_c2, m2, s2), type = "n", axes = FALSE,
     main = "Gráfica N°5: Zonas de Probabilidad Latitudinal", 
     xlab = "Latitud (\u00ba)", ylab = "Densidad de Probabilidad")

# Área sombreada para la zona premium
x_area <- seq(30, 45, length.out = 100); y_area <- dlnorm(c2 - x_area, m2, s2)
polygon(c(30, x_area, 45), c(0, y_area, 0), col = "#7FB3D5", border = NA)

# Curva del modelo
lines(x_c2, dlnorm(c2 - x_c2, m2, s2), col = "#C0392B", lwd = 4)
axis(1); axis(2, las=2); grid()

legend("topleft", 
       legend = c("Modelo Log-Normal Reflexivo", "Zona Premium (30-45\u00ba)"), 
       col = c("#C0392B", "#7FB3D5"), lwd = c(4, 10), bty = "n", cex = 0.7)

Respuesta 1: La probabilidad de ubicación en la franja premium (30-45°) según el modelo ajustado es del 76,14%.

Respuesta 2: En una proyección de 200 proyectos internacionales, se estima que 152 se localizarán en este rango de alta eficiencia.

8 TEOREMA DEL LÍMITE CENTRAL (TLC)

El Teorema del Límite Central (TLC) 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}}\)

# 1. ESTADÍSTICOS BÁSICOS
x_bar <- mean(lat_variable)
sigma <- sd(lat_variable)
n_total <- length(lat_variable)

# 2. CÁLCULO DEL ERROR Y MARGEN (E)
# Usamos Z = 1.96 para un nivel de confianza del 95%
E <- 1.96 * (sigma / sqrt(n_total))

# 3. CONSTRUCCIÓN DE LA TABLA CON GT
data.frame(
  Parametro = "Latitud Promedio Mundial (\u00ba)",
  Lim_Inferior = x_bar - E,
  Media_Muestral = x_bar,
  Lim_Superior = x_bar + E,
  Error_Estandar = paste0("+/- ", round(E, 4)),
  Confianza = "95% (Z=1.96)"
) %>% 
  gt() %>%
  tab_header(
    title = md("**TABLA N\u00ba 3: ESTIMACI\u00d3N DE LA MEDIA POBLACIONAL (TLC)**"),
    subtitle = "Inferencia Estadística para la Variable Latitud"
  ) %>%
  tab_source_note(source_note = "Autor: Juleydi Miles") %>%
  fmt_number(columns = 2:4, decimals = 3) %>%
  # Estilo para resaltar la Media Muestral
  tab_style(
    style = list(cell_fill(color = "#E8F8F5"), cell_text(color = "#145A32", weight = "bold")), 
    locations = cells_body(columns = Media_Muestral)
  ) %>%
  # Aplicación de las opciones de diseño solicitadas
  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 (TLC)
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

9 CONCLUSIÓN

La variable Latitud fue analizada mediante un enfoque Tri-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 Teorema del Límite Central, afirmamos con un 95% de confianza que la media poblacional de ubicación de proyectos se sitúa en el intervalo de [34,73°; 34,99°].

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,86 \pm 0,13\)°).