how to treat the last observation? Forecasting??

Dear all,
I have the following cell matrix
A={
'24/09/2000' [4.1583]
'22/10/2000' [3.9389]
'19/11/2000' [4.3944]
'17/12/2000' [3.9313]
'14/01/2001' [3.9313]
'11/02/2001' [3.9313]
'11/03/2001' [4.0339]}
I can easily convert the above data points to monthly averages; through the calculation of the weighted average between successive observations.
For instance for the first observation I have
24*4.1583+ 6*3.9389
where 24 is the 24 days from month Octomber and 6=(last date of the month-24=30-24) The only problem is how to treat the last observation:
11*4.0339+?
One way is to extrapolate but I do not consider this method reliable. The above values are prices. So could I apply some other way? Maybe forecasting taking into account seasonality?
Any help/code provided will greatly appreciated
thanks

댓글 수: 4

Oleg Komarov
Oleg Komarov 2012년 8월 18일
Why do you call them averages? You don't have multiple observations per month. Have you looked at interp1(), you can also extrapolate to the last day of March 2001.
antonet
antonet 2012년 8월 18일
HOw can I extrapolate to the last day of march 2001?
I tried but I do not know if I am correct
You do not have enough data to forecast with, not with any meaningful accuracy.
antonet
antonet 2012년 8월 18일
Hi Walter. I have. the above matrix is an example

댓글을 달려면 로그인하십시오.

 채택된 답변

Oleg Komarov
Oleg Komarov 2012년 8월 18일

0 개 추천

A ={'24/09/2000' 4.1583
'22/10/2000' 3.9389
'19/11/2000' 4.3944
'17/12/2000' 3.9313
'14/01/2001' 3.9313
'11/02/2001' 3.9313
'11/03/2001' 4.0339};
% Convert to tractable double matrix, i.e. use serial dates
A = [datenum(A(:,1),'dd/mm/yyyy') cat(1,A{:,2})];
A =
730753 4.1583
730781 3.9389
730809 4.3944
730837 3.9313
730865 3.9313
730893 3.9313
730921 4.0339
% Create a list of end-of-month dates (using two tricks):
  1. create first-day-of-next-month dates and subtract one
  2. datenum() automatically adjusts the date in case one of the units exceeds the max accepted value
xi = datenum(2000,10:16,1)-1;
% Interpolate
B = interp1(A(:,1),A(:,2), xi,'linear','extrap');
% Plot
plot(A(:,1),A(:,2),'-dr',xi,B,'-ob')
set(gca,'Xtick',sort([A(:,1); xi']),'xgrid','on')
datetick('x','dd/mm','keepticks')

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Time Series에 대해 자세히 알아보기

질문:

2012년 8월 18일

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by