2012-05-18 5 views
3

만약 f (x) = y의 형식을 모르는 경우, 그리고 x와 y 값 쌍 (잠재적으로 수천 가지)의 긴 목록이 있다면 프로그램/패키지/잠재적 인 형태의 f (x)를 생성하는 라이브러리?f (x) = y의 형식을 모르는 경우 어떻게 x, y 값 쌍 목록에 눈이 피팅 할 수 있습니까?

분명히 f (x)의 가능한 형태에 많은 모호성이 있으므로 분명하지 않은 고유 한 대답을 생성하는 것이 이상적 일 수 있지만 적어도 하나의 대답을 생성 할 수있는 것은 또한 좋다.

x와 y가 관측 데이터 (즉, 실험 결과)에서 파생되는 경우 대략적인 형태의 f (x)를 생성 할 수있는 프로그램이 있습니까? 다른 한편으로, 의사 난수 생성기의 입력과 출력에서와 같이 x와 y 사이에 완전히 결정적인 관계가 있음을 미리 아는 경우 f (x)의 정확한 형식을 만들 수있는 프로그램이 있습니까?

+0

일부 패턴 (예 : 대략 직선, 곡선 또는 직선)이 있다고 가정하면 결과를 합리적으로 추정하는 함수를 만들 수 있습니다. 기본적으로 무작위 인 경우, 그렇지 않습니다. 많은 일을 할 수 없을 것입니다. –

+0

근사 함수로 무엇을 할 계획입니까? – Blender

+1

은 http://math.stackexchange.com에 속할 수도 있습니다. –

답변

3

Soooo, 나는 내 자신의 질문에 대한 답을 찾았습니다. Cornell은 Eureqa이라고하는 이런 종류의 눈먼 피팅을 수행하는 소프트웨어를 출시했습니다. 그것은 제가 지금까지 본 적이없는 가장 세련된 소프트웨어 중 하나 여야합니다. 그것은 꽤 멋지다. 그것을 체크 아웃 : 당신은 매우 합리적인를 위해 버튼을 누르는 클라우드에 로컬 컴퓨터에서 무거운 계산 리프팅의 일부를 오프로드 할 수 있도록

enter image description here

은 심지어, 아마존의 EC2 클러스터와 턴키 통합있어 보수.

인터페이스를 훔칠 수 있도록 GUI 프로그래밍에 대해 자세히 알아야 할 것 같습니다.

+0

이것은 꽤 산뜻합니다. 게시 해 주셔서 감사합니다. –

0

에 따라 다릅니다.

현실 세계에서 얻은 데이터를 사용하는 경우 통계가 regression techniques 일 때 가장 적합하다고 평가할 수있는 통계를 제공 할 수 있습니다. 함수의 형태에 대한 여러 가지 가설이있는 경우 통계 회귀를 사용하여 "최적"적합을 발견 할 수 있습니다. 그러나 곡선을 너무 많이 맞추는 것에주의해야 할 수도 있습니다. 특정 데이터 세트는 향후 관측을 위해 완전히 작동하지 않습니다. 다른 한편으로는, 데이터 (예를 들어, 당신이 알고 그들이 다항식에 의해 생성 된) 합성 뭔가를 생성, 경우

, 당신은 당신이 필요로하는 정확한 답을 줄 것이다 polynomial curve fitting methods 사용할 수 있습니다.

0

예, 그런 것들이 있습니다.

값을 플롯하고 의미있는 일부 기능적 관계가있는 경우 최소 제곱 피팅을 사용하여 오류를 최소화하는 매개 변수 값을 계산할 수 있습니다.

함수의 모양을 모르는 경우 간단한 스플라인 또는 보간 체계를 사용할 수 있습니다.

또한 소프트웨어를 사용하여 기능이 무엇인지 추측 할 수 있습니다. 어쩌면 Maxima 같은 것을 도울 수 있습니다. 볼프람 알파가 도움이 될 수 있습니다

당신은 추측 : 당신의 세트가 거의 선형 경우 완전히 무작위 세트를

http://en.wikipedia.org/wiki/Polynomial_interpolation

이있는 경우

http://blog.wolframalpha.com/2011/05/17/plotting-functions-and-graphs-in-wolframalpha/

+0

또는 [Sage] (http://www.sagemath.org/) (디스크 공간이있는 경우) – Blender

0

다항식 보간 길을 가야하는 것입니다, 회귀는 당신에게 좋은 근사치를 줄 것입니다.

X와 Y의 정확한 양식을 만드는 것은 거의 불가능합니다.

달성하고자하는 것은 많은 기계 학습 알고리즘의 핵심이며 그로 인해 일부 특수 라이브러리에서 원하는 것을 찾을 수 있습니다.

2

(수치 방법에 관한 더 많은 질문입니다.) 어떤 종류의 관찰 가능한 패턴 (함수를 좀 볼 수 있음)이 있다면, 예, 원래 함수를 근사시킬 수있는 몇 가지 방법이 있지만 근사값 일 겁니다.

당신이하고 싶은 것을 보간이라고합니다. 아주 간단한 두 가지 방법이 있습니다. 뉴턴의 방법라플라스의 보간법. 둘 다 같은 원리로 작동하지만 다르게 구현됩니다 (Laplace는 반복적이며, Newton은 반복적입니다).

데이터 포인트 사이에 많은 차이가 없다면 (예 : 실제 기능에 "피크"가 데이터 포인트로 표시되지 않는 "범프"가 없음) spline method of interpolation은 당신이 할 수있는 최선의 선택 중 하나. 구현하기가 조금 더 어렵지만 좋은 결과를 만들어냅니다.

편집 : 때때로 특정 문제에 따라 위의 방법이 과도 할 수 있습니다. 때로는 선형 보간 (직선으로 점을 연결하는 경우)이 문제에 대한 완벽한 해법이라는 것을 알 수 있습니다.

0

x/y 값 목록 N 항목 long은 항상 차수 N 다항식 (x 값이 같지 않다고 가정)에 의해 생성 될 수 있습니다. 자세한 내용은이 문서를 참조하십시오

http://en.wikipedia.org/wiki/Polynomial_interpolation

일부 목록은 또한, 지수 사인, 그리고 많은 다른 사람과 같은 다른 기능 유형을 일치 할 수 있습니다. '가장 간단한'매칭 함수를 찾는 것은 불가능하지만, 여러분이 할 수있는 최선의 방법은 지수, 사인 곡선 등과 같은 일반적인 것들의 목록을 살펴 보는 것이며, 일치하지 않으면 다항식을 보간하는 것입니다.

나는 당신을 위해 이것을 할 수있는 어떤 소프트웨어도 알지 못합니다.