全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1491 7
2013-06-09
悬赏 3000 个论坛币 未解决
需要用sas编写程序如下:


1,在100万个数据点的数据库中定义100个观测点,所以每个观测点就有1万个数据点,每一个观测点来估计用了好长的时间。

2.观察前5个点,然后通过找打最大的R^2来找到一个回归函数,(1) 线性回归 (2) log线性回归, (3) 二次回归, (4) 三次回归 (5) 指数回归


3.对于第6个点来说,做一个预测,在代码还在运行的时候,把剩余的时间显示出来。这个可以类似:在前6个观测点中,它看起来这个代码会在7:04到7:08之间结束。
4.随着程序的运行调整预测值。这意味着当有新的点加入的时候你每次都需要重新调整预测值。
5.继续做这个,直到做到了99个观测点。预测第100个就很简单了。




大概意思就是;用一个程序展示另外一个程序(比如proc sort)需要跑多少时间,然后在另外一个程序还在跑的过程中,适时的更新剩余时间,像迅雷那样


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2013-6-9 09:18:57
LZ应该说一下是用什么软件,不过这个算法是很难实现的,迅雷能实现是通过剩余未下载流量和下载速度相比获得,而你的程序会收到运行过程占用内存等等的影响,据我在matlab的测试结果来看,同一个语句在不同环境下运行的结果会不同,尽管差别不大,但程序一多累积误差不可小觑,再者,对于一些优化算法,你不知道什么时候会收敛到满意值,是不可能获得剩余时间的,仅供参考
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-6-9 09:22:07
fangwz 发表于 2013-6-9 09:18
LZ应该说一下是用什么软件,不过这个算法是很难实现的,迅雷能实现是通过剩余未下载流量和下载速度相比获得 ...
需要用sas,我加上了哈。好的,谢谢了哈。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-6-9 09:51:41
这个算法确实比较复杂,偶也菜鸟一只,看看有没有大神回复~
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-6-9 11:04:10
用sas太繁琐了,改投门派吧! 统计分析还不错,其他它 不擅长
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-6-10 04:51:31
I don't understand the problem yet. But a simple regression with 100*10000 and 10 regressor takes about 2.12 seconds as showed below. I don't this time is a problem here.

47   data t1;
48     array x(10) ;
49     do i=1 to 100*10000;
50       do j=1 to 10;
51          x[j]=rannor(123);
52       end;
53       y=1+sum(of x[*]) + rannor(123);
54       output;
55     end;
56     keep y x:;
57   run;

NOTE: The data set WORK.T1 has 1000000 observations and 11 variables.
NOTE: DATA statement used (Total process time):
      real time           1.39 seconds
      cpu time            1.40 seconds

58
59   proc reg data=t1;
60   model y=x1-x10;
61   run;
62   quit;

NOTE: PROCEDURE REG used (Total process time):
      real time           5.70 seconds
      cpu time            2.12 seconds
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群