К основному содержанию
скилл CX Codex

geostatistics-interpolation — скилл для Claude Code

Скилл для пространственной интерполяции: строит поверхность по редким замерам и отдельно считает карту неопределённости. Полезен, когда нужно оценить значения между станциями, скважинами или зондированиями.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add muend/geoai-skills --skill geostatistics-interpolation -a claude-code
Открыть на GitHub

Что делает geostatistics-interpolation

Скилл берёт разрозненные точечные измерения и превращает их в непрерывную поверхность, но с оговоркой: результат всегда идёт в паре с картой неопределённости. Он выбирает метод по ситуации — IDW для быстрого взгляда, обычный кригинг как рабочий вариант по умолчанию, универсальный или регрессионный кригинг при явном тренде или ковариатах, индикаторный кригинг для категорий.

Перед интерполяцией скилл требует разведки: посмотреть на дубликаты координат, распределение и скошенность, проверить тренд. Вариограмма здесь — решение моделирования, а не автоподбор: параметры nugget, sill и range разбираются словами, анизотропия проверяется направленными вариограммами. Работа идёт в проекции, потому что расстояния в градусах дают неверный кригинг.

Валидация не опциональна: leave-one-out для малых выборок, пространственная блоковая кросс-валидация для кластерных данных, сравнение с простым базовым уровнем. На выходе — поверхность предсказания, стандартное отклонение кригинга, таблица валидации и маска, где экстраполяция за пределы данных не поддерживается. Без проекции в CRS и без проверки вариограммы по графику результат будет выглядеть убедительно и при этом врать.

Какие задачи решает

  • построить поверхность по редким замерам станций или скважин
  • оценить неопределённость предсказания, а не только значения
  • подобрать и объяснить параметры вариограммы
  • проверить модель пространственной кросс-валидацией
  • отсечь экстраполяцию за пределы данных

Примеры запросов агенту

  • Интерполируй значения по точкам из stations.csv обычным кригингом и покажи карту стандартного отклонения
  • Построй вариограмму для этих данных, подбери модель и объясни nugget, sill и range
  • Сравни IDW и кригинг на этих точках через leave-one-out и скажи, оправдана ли сложность

Как установить geostatistics-interpolation

1Через Skills CLI (Vercel)

npx skills add muend/geoai-skills --skill geostatistics-interpolation -a claude-code

2Вручную: положить файлы

~/.claude/skills/geostatistics-interpolation/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/geostatistics-interpolation/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о geostatistics-interpolation

Как установить geostatistics-interpolation в Claude Code?

Выполните npx skills add muend/geoai-skills --skill geostatistics-interpolation -a claude-code, затем проверьте, что файл появился по пути ~/.claude/skills/geostatistics-interpolation/SKILL.md.

Что делает geostatistics-interpolation?

Строит непрерывную поверхность по разрозненным точечным замерам и вместе с ней карту неопределённости. Поддерживает вариограммное моделирование, обычный, универсальный и регрессионный кригинг, IDW и пространственную кросс-валидацию.

Когда этот скилл не подойдёт?

Он не для тепловых карт плотности точек, зональной агрегации и пересэмплинга растров без интерполяции значений. Если нужно просто посчитать, сколько замеров попало в ячейку, это другая задача.

Исходный текст

SKILL.md · MIT
---
name: geostatistics-interpolation
description: >-
  Turn scattered point measurements into continuous surfaces with quantified
  uncertainty: variogram modeling, ordinary/universal/regression kriging,
  IDW, and spatially honest cross-validation. Use when unobserved values must
  be estimated from sparse samples such as stations, wells, or soundings.
  Trigger on "interpolate", "kriging", "variogram", or "IDW"; a named
  interpolation method is sufficient even when the requested surface is
  described informally as a heatmap. Do not use for point-density heatmaps,
  zonal aggregation, or raster resampling without value interpolation.
license: MIT
metadata:
  author: Muhammed Enes Duran
---

# Geostatistics & Interpolation

Purpose: interpolation that reports what it doesn't know. The difference
between a professional product and a pretty raster is the uncertainty
surface and an honest cross-validation — both are non-optional here.

## Method selection

| Situation | Method |
|---|---|
| Dense, smooth phenomenon, quick look | IDW (report power parameter; test 1-3) |
| Physical phenomenon with spatial structure, need uncertainty | **Ordinary kriging** (default professional choice) |
| Clear trend (elevation gradient, coastal effect) | Universal kriging or regression kriging on covariates |
| Strong covariates available (DEM, land cover, distances) | Regression kriging / random-forest residual kriging |
| Categorical target | Indicator kriging |
| Honeycomb-free tessellation, no extrapolation wanted | Natural neighbor |

IDW is a reasonable baseline but has no error model and bullseyes around
extremes; say so when delivering IDW-only products.

## Exploratory phase (before any interpolation)

- Map the points with values; look for duplicates at identical coordinates
  (average or offset them — kriging matrices go singular otherwise).
- Histogram + skew: strongly skewed variables (rainfall, concentrations)
  usually want a log/normal-score transform; back-transform predictions
  properly (bias correction for lognormal kriging).
- Trend check: regress value on x, y, and candidate covariates; visible
  trend → universal/regression kriging path.
- Declustering if sampling is preferential (dense where values are high).

## Variogram discipline

The variogram is a MODELING decision, not an auto-fit output:

```python
import gstools as gs

bin_center, gamma = gs.vario_estimate((x, y), values, max_dist=dmax)  # dmax ≈ half extent
model = gs.Exponential(dim=2)
model.fit_variogram(bin_center, gamma, nugget=True)
print(model)   # report: nugget, sill, range — plus the fitted plot
```

- Max lag ≈ half the domain diameter; ≥30 pairs per bin.
- Check anisotropy with directional variograms (0/45/90/135°); geological
  and meteorological fields are often anisotropic — fit an anisotropic
  model rather than ignoring it.
- Interpret and report the parameters in words: nugget (measurement error +
  micro-scale variance), range (correlation distance), sill. A nugget near
  the sill means the data barely support interpolation — say that honestly.
- Never interpolate meaningfully beyond the variogram range from the
  nearest sample; mask or flag those cells.

## Kriging execution

```python
from pykrige.ok import OrdinaryKriging

ok = OrdinaryKriging(x, y, values, variogram_model="exponential",
                     variogram_parameters={"sill": s, "range": r, "nugget": n},
                     coordinates_type="euclidean")
z, ss = ok.execute("grid", gridx, gridy)   # ss = kriging VARIANCE — keep it!
```

- Work in a projected CRS (kriging distances in degrees are wrong except
  with explicitly geographic-aware models).
- Deliver TWO rasters: prediction AND kriging standard deviation
  (`np.sqrt(ss)`). The uncertainty map drives where to sample next and
  where not to trust the map.
- Search neighborhood: 16-32 nearest points typical; document it.

## Validation — leave-one-out and beyond

- **LOOCV** for small n: report ME (bias ≈ 0?), RMSE, and standardized
  RMSE (should be ≈ 1 if kriging variances are honest).
- For clustered samples, LOOCV flatters; also run spatial block CV
  (canonical recipe: `ml-experiment-standards` →
  `references/spatial-cv-protocol.md`) and report both.
- Scatter plot observed vs predicted with 1:1 line; map the CV residuals —
  spatially clustered residuals mean missing trend/covariate.
- Compare against the dumb baseline (global mean, IDW): kriging must earn
  its complexity.

## Reporting template

```
## Surface: <variable>
- n = <>, extent, CRS, transform applied: <log/none>
- Variogram: <model>, nugget/sill/range = <...>, anisotropy: <...>
- Method: <OK/UK/RK + covariates>
- LOOCV: ME <>, RMSE <>, RMSE_std <>; block-CV RMSE <>
- Uncertainty: kriging SD raster delivered; area beyond reliable range masked
```

## Pitfalls checklist

- Auto-fitted variogram accepted without looking at the plot.
- Kriging in EPSG:4326 over large extents.
- Prediction raster delivered without its variance/SD companion.
- Log-kriging back-transformed by naive `exp()` (bias!).
- Extrapolation far beyond the data hull presented at equal confidence.
- Duplicated station coordinates crashing or silently distorting the fit.

## Execution contract

- **Workflow:** inspect sampling and transform needs; model spatial dependence; fit candidate surfaces; validate against simple baselines; quantify uncertainty; mask unsupported extrapolation.
- **Decision rules:** choose IDW or trend methods for transparent baselines, kriging when a defensible variogram exists, and regression kriging when covariates improve blocked validation.
- **Verification protocol:** examine variogram diagnostics, LOOCV and spatial block-CV residuals, baseline uplift, uncertainty calibration, and behavior beyond the sample hull.
- **Failure modes:** withhold a confident surface when sampling is too sparse, dependence is absent, duplicates dominate, distance units are invalid, or uncertainty is uncalibrated.
- **Deliverables:** prediction surface, uncertainty surface, variogram and parameters, validation table, sampling-support mask, and method limitations.
- **Source freshness:** consult [the authoritative source registry](references/authoritative-sources.md) before relying on package APIs or defaults and record the checked date.

© Muhammed Enes Duran · MIT · muend/geoai-skills

Похожие скиллы

Все скиллы по теме «Данные и базы» →
xlsx официальный anthropics Работает с табличными файлами: создаёт, читает, правит и преобразует книги. Подходит, когда итогом должен стать файл Excel или другой табличный формат. 187 223установок google-agents-cli-observability официальный Google Помогает настроить трассировку и сбор данных о работе ИИ-агентов, включая агентов на ADK. Пригодится, когда нужно разбирать выполнение запросов или наблюдать за агентом после развёртывания. CX Codex +1 511 300установок caveman-evidence-review JuliusBrussee Скилл читает данные Caveman Cloud о расходах LLM, трассах и маршрутизации. Подходит для проверки того, куда уходит бюджет проекта. CX Codex +1 104 500установок migration JuliusBrussee Скилл задаёт правила безопасных миграций схем, данных и API с обязательным откатом. Пригодится при изменениях, где нельзя терять данные или ломать совместимость. CX Codex +1 103 900установок performance-optimization addyosmani Скилл для агентов ИИ-кодинга: сначала замеряет, потом чинит узкое место — от Core Web Vitals до N+1 запросов и индексов в базе. CX Codex +1 65 200установок supabase официальный supabase Скилл помогает настраивать базу данных, аутентификацию и RLS в Supabase без скрытых дыр в безопасности. CX Codex GP ChatGPT 8установок

Из того же набора6

spatial-statistics Скилл для пространственного анализа: проверяет кластеризацию, горячие точки и зависимость в геоданных, а потом помогает с диагностикой регрессии. CX Codex +1 ★ 35звёзд репо point-cloud-lidar Скилл для работы с LAS, LAZ и COPC: классификация земли, DTM/DSM/CHM, метрики леса и зданий, вертикальные датумы. Нужен, когда на входе сырое облако точек. CX Codex +1 ★ 35звёзд репо ml-experiment-standards Заставляет агента проверять утечки, выбирать сплиты и метрики до обучения модели. Пригодится, когда результат нужно воспроизвести, а не просто получить цифру. CX Codex +1 ★ 35звёзд репо geo-data-engineering Помогает агенту собрать геоданные из OSM, STAC или Overture, привести их в рабочий вид и не потерять строки по дороге. CX Codex +1 ★ 35звёзд репо arcgis-pro-automation Скилл для управления локальными проектами ArcGIS Pro и ArcPy через arcgis-mcp-bridge: геообработка, проекции, растры, сети, экспорт компоновок. CX Codex +1 ★ 35звёзд репо

Спонсоры проекта

Компании, которые помогают держать аналитику открытой