Validação cruzada

apbase.cross_validate.cross_validate compara o IDW e a krigagem ordinária sobre os mesmos dados amostrais. Ela usa validação cruzada leave-one-out com uma única configuração compartilhada: um só semivariograma ajustado define o raio de busca comum e o modelo de krigagem, e os dois métodos usam o mesmo índice espacial.

O resultado dela alimenta a etapa de decisão por trás do apbase.Map: o Map o passa para select_best_model, que escolhe o método com menor RMSE (raiz do erro quadrático médio) leave-one-out nos pontos que os dois métodos predisseram (um empate fica com o IDW). Chame o cross_validate diretamente quando quiser inspecionar a comparação ou rodá-la com os seus próprios limites.

from apbase.cross_validate import cross_validate

result = cross_validate(x, y, z, max_points=500)
result.idw.rmse, result.kriging.rmse

Parâmetros

x, y : array_like : Coordenadas dos pontos amostrais, num sistema de coordenadas projetado (sem conversão de longitude/latitude).

z : array_like : Valores amostrais. Precisa ter o mesmo tamanho de x e y.

max_points : int, padrão 500 : Número máximo de pontos amostrais avaliados. Conjuntos de dados maiores são amostrados aleatoriamente para manter o tempo de execução limitado.

seed : int, opcional : Semente da subamostra de validação.

radius : float, opcional : Raio de busca local compartilhado pelo IDW e pela krigagem. Se for omitido, o APbase o deriva do semivariograma ajustado (veja Ajuste do semivariograma).

power : float, padrão 2.0 : Expoente da distância no IDW.

max_neighbors, min_neighbors : int : Limites de vizinhos compartilhados pelos dois métodos.

model_values : array_like, opcional : Modelo de semivariograma pré-calculado, reaproveitado na avaliação da krigagem.

Lendo o resultado

result.idw e result.kriging expõem mae, rmse, r2 e as predições e os valores observados de cada amostra usados para calculá-los. Esses valores ajudam a ver se o erro de um método está sendo puxado por poucos pontos outliers.

O apbase.Map roda esta função e depois select_best_model para escolher entre IDW e krigagem automaticamente. Veja Validação cruzada para o procedimento leave-one-out e a regra de seleção.

Para a cokrigagem (colocalizada/ICM/LMC), veja cross_validate_cokriging em Cokrigagem, que faz a validação cruzada dos três métodos juntos.