2014-11-21 16 views
3

현재 그리드에서 누락 된 점을 찾기 위해 Bilinear 보간을 사용하는 데이터 점의 격자가 있습니다. 나는 Kriging 일명 thee best linear unbiased estimator의 지시를 받았다. 그러나 좋은 소스 코드 나 대수적 인 설명을 찾을 수 없었다. 누구든지 사용할 수있는 다른 보간 방법을 알고 있습니까?누군가가 쌍 선형 보간보다 나은 2 차원 보간 방법을 설명 할 수 있습니까?

- 업데이트 @Sam Greenhalgh 필자는 Bicubic 보간법을 고려해 보았지만 찾은 코드 예제를 사용하여 얻은 결과는 꺼져 보였습니다. 여기

은 바이 큐빅

참고 나는 C#으로 코딩하고 있지만뿐만 아니라 다른 언어의 예를 환영의 코드 예입니다.

//array 4 
    double cubicInterpolate(double[] p, double x) 
    { 
     return p[1] + 0.5 * x * (p[2] - p[0] + x * (2.0 * p[0] - 5.0 * p[1] + 4.0 * p[2] - p[3] + x * (3.0 * (p[1] - p[2]) + p[3] - p[0]))); 
    } 
    //array 4 4 
    public double bicubicInterpolate(double[][] p, double x, double y) 
    { 
     double[] arr = new double[4]; 
     arr[0] = cubicInterpolate(p[0], y); 
     arr[1] = cubicInterpolate(p[1], y); 
     arr[2] = cubicInterpolate(p[2], y); 
     arr[3] = cubicInterpolate(p[3], y); 
     return cubicInterpolate(arr, x); 
    } 

double[][] p = { 
       new double[4]{2.728562594,2.30599759,1.907579158,1.739559264}, 
       new double[4]{3.254756633,2.760758022,2.210417411,1.979012766}, 
       new double[4]{4.075740069,3.366434527,2.816093916,2.481060234}, 
       new double[4]{5.430966401,4.896723504,4.219613391,4.004306461} 
       }; 

Console.WriteLine(CI.bicubicInterpolate(p, 2, 2)); 
+2

바이 큐빅 보간을 고려 했습니까? –

+0

Kriging은 "Wiener filtering"의 이름으로 더 잘 알려져 있습니다. –

+0

@JonSkeet을 구출하는 것은 어떻습니까? –

답변

2

널리 사용되는 보간 방법 중 하나는 클리 깅 (또는 가우시안 프로세스 회귀)이다.

그러나 데이터 포인트가 일반 격자 인 경우 kriging을 사용하지 않는 것이 좋습니다. 데이터 포인트 간의 유클리드 거리는 모델의 매개 변수를 조정하는 데 사용됩니다. 그러나 격자에서 거리의 값은 예를 들어 무작위로 시뮬레이션 된 점 집합보다 훨씬 적습니다.

데이터 포인트가 정기적으로 배치 되더라도 시도해 보는 것이 흥미로울 수 있습니다. 당신이 관심이 있다면, 다음과 같은 소프트웨어 사용할 수 있습니다 매트랩 (... gstat, 크리깅 같은 다른 존재)

  • DACE 도구 상자를 R 언어

    • DiceKriging 패키지를
    • matlab에/옥타브의
    • STK (예를 들어 파이썬에서)
    • 그리고 많은 다른
    • ...

    참고 : 클리 깅 보간 적절한 것을 (나는 당신이 크리깅을 적용 할 어떤 상황에서 정확하지 않음)주의하는 것이 재미있을 수있다 예를 들어 가능한 측정 오류와 같은 문제를 고려하기 위해 매우 쉽게 완화 할 수 있습니다.

  • +0

    그런 다음 일반 그리드에 대해 무엇을 사용 하시겠습니까? –

    +1

    나는 내삽에 관한 것보다 회귀에 대해 훨씬 많이 알고있다. 나는 만나는 데 익숙한 문제에서 회귀가 훨씬 더 적합하다. 그래서 나는 스플라인, 폴리 노미 얼 보간 (나는 권장하지 않음) 및 클리 깅 (kriging)을 전혀 알지 못했습니다. – Pop

    +1

    @Pop 대수적인 예에서 Gaussian process regression을위한 단계가 있습니까? 나는 미적분 해석 기호가 좋지 않습니다 ... 구체적인 수치가있는 간단한 예가 매우 유용 할 것입니다. – Bob