2014-02-18 3 views
1

저는 R 소프트웨어 (Lib e1071)로 작업 중이며 Support Vector Regression을 사용하여 예측을 얻으려고합니다.Financial 시계열 예측/SV 회귀

I는 N = 3으로 산출하여 원료 종가를 windowizing있어 : I 그것을하고있어 방법은 다음과 같다

s[t-3] s[t-2]  s[t-1] -> s[t] 
1.2350 1.2358  1.2354  1.2360 
.   .   .    . 
.   .   .    . 

etc... 

I 예측하려는 값 의 Y가 S이다 [t]. SVM 유형은 "eps-regression"이고 커널은 "radial"입니다. 또한 최상의 매개 변수, 감마 및 비용을 얻기 위해 10 배 교차 유효성 검사를 수행합니다.



하지만 문제가있다 :



예측 마지막 값 S [K-1] 매우 가까운 값을 위해, 항상을 예 :

Last Vector: 

s[t-3] s[t-2]  s[t-1] -> s[t] 

1.2350 1.2358  1.2354  1.2355 

예측 된 값은 마지막 s [t-1] 값의 매우 가까운 값이 될 것입니다. 학습 된 벡터 (10K)의 수를 늘리고 N 수율 (최대 7)을 늘리려고 시도했지만 결과는 같습니다.

아무도 왜 이런 일이 일어 났으며 실제로 예측을 할 수 있습니까?

1) 말할 수 있습니다 : user__42의 종류 응답에 관한



는 **

부록

**

, 나는 당신의 설명을 이해하는 몇 가지 문제가 나는 다음과 같은 3 개의 훈련 된 벡터 세트를 가지고있다

10 s[t-3]   12 s[t-2]  15 s[t-1] ->  11 s[t] 
5 s[t-4]   8 s[t-3]  9 s[t-2] ->  10 s[t-1] 
6 s[t-5]   12 s[t-4]  10 s[t-3] ->  15 s[t-2] 

제안 시도 된 예측은 Y '입니다 :

y'[t] = y[t] - y[-t] 

실시간 예측에, 나는 Y를 모르는

y'[t] = 11 - 15 -> y'[t] = y[t] - y[-1] 

그러나 위의 예를 촬영 [t] 를 계산하려면 y ' :

위의 예를 고려

2), 당신은 다음과 같은 식으로 뜻 설명해 주 시겠어요 :

y'[nt] 


y'[-nt] 


y[nt] 
+0

http://stats.stackexchange.com/의 경우 더 좋을 것입니다. 그들은 더 많은 통찰력을 가질 수 있습니다. –

+0

무엇을 하시겠습니까? 재무 데이터는 너무 광범위한 용어입니다. – Pedrom

+0

지금은 더 분명해지기를 바랍니다. 감사. –

답변

0

당신이 진짜 금융 시계열 데이터를 이 동작은 도전의 일부를 사용하는 경우 - 이후 금융 시간 시리즈는 매우 시끄러운입니다. 당신은 시도 할 수

:

  1. 커널 파라미터 기록하고 같은 커널 매개 변수와 함께 뉴 - SVR 시도하고 뉴 = 0.1을 선택합니다. 당신이 "기계적 학습"에 대해 수렴 모델의 복잡성을 증가 이런 식으로 (독일어로! 구글과 "auswendiglernen을"번역)

1.a.edit 당신은 클래식 ε를 구분 LF없는 손실 함수를 시도 할 수 있습니다 , Gaussian loss funktion (no xp myself)

1.b.edit FaLK-SVR을 한 번 사용했습니다. 저기 하위 데이터 - 지역에서 데이터를 분할 할 수 있습니다 : 나는이 "평균"결과를 얻을 도움이 될 것 같아요. FaLKM-LIB는 libSVM에 구현 내놓고을 사용하도록 준비! http://disi.unitn.it/~segata/FaLKM-lib/

  1. 은 만 (t-1, t 사이에서 S [t-13]과 S [t-27 (이 아닌 값을 포함 -2, t-3, t-13 및 t-27)를 사용하여 기계에 일반적인 추세에 대한 단서를 제공합니다.

  2. 당신이 심각하게이 같은 일련의 날씨 ;-), micro-blogging 또는

  3. 구글 쉬운 장난감 - 데이터 (숨겨진 마르코프를 통해) 계산 기능을 말하거나 here

    보일 예측하려고하면 당신은 확실히 더 많은 기능을 필요
+0

답장을 보내 주셔서 감사합니다. 나는 당신의 제안 (1.과 2.)을 시도했지만 불행하게도 나는 똑같은 행동을하고있다. 예측은 항상 마지막 가격에 매우 가깝습니다. 아마도 시계열 간격을 늘리는 것이 도움이 될까요? 예 : (t-2, t-5, t-9, t-13 및 t-27) –

+0

업데이트 : [t-1], [t-13], [t-27] 제안 1. 및 2. 결과 : 동일한 초기 결과. –

+0

알 수 없음 no3 : 입력 값은 단순한 y [-t] 값이므로 y [-1]을 y에 가장 가까운 것으로 간주하여 기계가 잘못되지 않도록하십시오. y '[t] = y [t] -y [-t] y'[-nt]를 입력으로 사용하여 예측하십시오. 이렇게하면 x1 = [1,2,3,4]에서 x2 = [3,4,5,6]까지의 커널 거리가 0이됩니다. 출력으로 y [t]가 필요한 경우 y '[t]에 (알려진) y [-t]를 추가하면됩니다. 또한 y '[- nt]와 y [-nt] 값을 혼합하여 낮은 값과 높은 값에서 다른 동작을 적용 해보십시오. 상상할 수있는만큼 많은 정보를 커널에 넣으십시오. (y [-nt] -y [-nt-2])와 같이 놀고 ... –