1、 http://powerelite.blog.163.com/blog/static/429658912013459306166/ Matlab SMooth 函数
2、 http://wenku.baidu.com/link?url=FIonsesgGIoICBiRCsfef_SAyhy59ik3TiThcp01-SNoIavzD58NGns2MtNr8GDclFOTO6wECpWHH9viqnuOIxWNSFTaVrYMQLUWZsJrvUm###&qq-pf-to=pcqq.c2c 数据预处理的MATLAB实现
3、 http://blog.163.com/value_strategy/blog/static/2059130992011727854031/ 用R平滑价格曲线的方法之一:LOWESS
4、http://blog.sina.com.cn/s/blog_618af1950100pmnf.html Matlab plot 多条曲线
关于Span的测试
Pid |
总的 |
Span=4000 |
Span=1000 |
Span=500 |
Span=100 |
Span=50 |
Span=10 |
5 |
85 |
1585 |
1560 |
1560 |
1560 |
1560 |
1560 |
1565 |
1571 |
86 |
1399 |
1362 |
1362 |
1362 |
1362 |
1362 |
1366 |
1357 |
88 |
92 |
67 |
67 |
67 |
67 |
67 |
62 |
68 |
89 |
299 |
232 |
232 |
232 |
231 |
228 |
243 |
261 |
90 |
1426 |
1394 |
1394 |
1394 |
1394 |
1395 |
1395 |
1399 |
91 |
386 |
360 |
360 |
360 |
360 |
360 |
357 |
368 |
92 |
7 |
4 |
4 |
4 |
4 |
4 |
4 |
6 |
93 |
3032 |
2800 |
2800 |
2800 |
2801 |
2863 |
2881 |
2948 |
94 |
49 |
42 |
42 |
42 |
42 |
42 |
42 |
44 |
95 |
1794 |
1756 |
1756 |
1756 |
1756 |
1757 |
1761 |
1774 |
96 |
1551 |
1488 |
1488 |
1488 |
1488 |
1489 |
1503 |
1527 |
97 |
2054 |
1958 |
1958 |
1958 |
1958 |
1957 |
1962 |
1984 |
98 |
2167 |
2114 |
2114 |
2114 |
2113 |
2117 |
2123 |
2140 |
100 |
1423 |
1391 |
1391 |
1391 |
1391 |
1392 |
1395 |
1404 |
101 |
2647 |
2593 |
2593 |
2593 |
2592 |
2593 |
2606 |
2617 |
102 |
1785 |
1742 |
1742 |
1742 |
1742 |
1743 |
1748 |
1756 |
103 |
307 |
279 |
279 |
279 |
278 |
276 |
283 |
284 |
104 |
1620 |
1600 |
1600 |
1600 |
1600 |
1601 |
1601 |
1611 |
105 |
1682 |
1651 |
1651 |
1651 |
1651 |
1651 |
1654 |
1664 |
106 |
2026 |
1924 |
1924 |
1924 |
1924 |
1937 |
1953 |
1984 |
107 |
2352 |
2278 |
2278 |
2278 |
2278 |
2281 |
2290 |
2317 |
双参数传递:
Pid |
总的 |
Span=4000 |
Span=5 (Y,SPAN, 'lowess') |
Span=5 (X,Y,'lowess') |
Span=5 (X,Y,'lowess') X值变大后 |
Span=Y数据量的百分比(X,Y,0.3, 'lowess') ----X的为时间秒间隔 |
85 |
1585 |
1560 |
1571 |
1526 |
1558 |
1512 |
86 |
1399 |
1362 |
1357 |
1342 |
1365 |
1354 |
88 |
92 |
67 |
68 |
73 |
76 |
58 |
89 |
299 |
230 |
260 |
195 |
230 |
194 |
90 |
1426 |
1392 |
1398 |
1383 |
1392 |
1353 |
91 |
386 |
360 |
368 |
350 |
368 |
358 |
92 |
7 |
4 |
6 |
5 |
7 |
7 |
93 |
3032 |
2827 |
2948 |
2852 |
2916 |
2831 |
94 |
49 |
42 |
44 |
45 |
44 |
41 |
95 |
1794 |
1755 |
1773 |
1736 |
1776 |
1723 |
96 |
1551 |
1491 |
1527 |
1494 |
1517 |
1465 |
97 |
2054 |
1956 |
1983 |
1943 |
1989 |
1914 |
98 |
2167 |
2114 |
2140 |
2101 |
2136 |
2100 |
100 |
1423 |
1391 |
1404 |
1370 |
1397 |
1346 |
101 |
2647 |
2596 |
2618 |
2591 |
2615 |
2587 |
102 |
1785 |
1741 |
1756 |
1730 |
1749 |
1720 |
103 |
307 |
279 |
286 |
272 |
279 |
271 |
104 |
1620 |
1600 |
1611 |
1587 |
1603 |
1565 |
105 |
1682 |
1651 |
1664 |
1627 |
1656 |
1616 |
106 |
2026 |
1906 |
1985 |
1916 |
1964 |
1932 |
107 |
2352 |
2275 |
2317 |
2274 |
2291 |
2263 |
结论:
X是时间间隔数组(均与最早时间做差),Y是体重数组,span=0.3(Y的数据量的30%,span的范围为0.3~0.4,考虑到span值越小,数据量越多,故暂时选0.3),方法:Lowess’)。
注意:span的系数值影响数据处理后的效果,在数据量大的情况下,如果span值越大,呈现数据的两端拟合数据偏差越大,如果span值适合(0.1--0.4),所有数据的拟合效果偏差都不大。
function fun(x,y)
pigx = load('pigtime.mat')
pigy = load('pigweight.mat')
x = pigx.pigtime(:,1)
y = pigy.pigweight(:,1)
figure
原点
hold on
plot(x,y,'*')