ChaseDream

标题: 关于统计软件-在读PhD学生讨论 [打印本页]

作者: 永远没多远    时间: 2022-11-21 05:40
标题: 关于统计软件-在读PhD学生讨论
大家好,目前是金融在读PhD,在等待学校老破电脑运行SAS指令的时候来讨论一下;
目前主流的统计软件,各位的学校都用的是什么?
我这边是SAS/STATA熟练工,python的话会是会,就是效率低下,他的{}【】()以及大小写的要求还有经常更新的指令导致老指令用不了我觉得特别反人类。。。

另外想问问大家学校电脑都是啥配置,我这边i5-9600+8G内存是真的崩溃,有时候数据集大了(300,000个obs,真不算大啊)等很久,甚至是死机,丢失数据才是很恼火(他程序出错了之后临时的数据集处理了的都没了,虽然可以再运行一次代码,但是又要等很久。。。)。我这边学院的电脑lab里面我看最好的也就是i5-11400+8G。想问问大家这个电脑如果是跑统计软件的话,是要加内存还是CPU频率高了好?GPU可以加速吗?
作者: raccoon_paw    时间: 2022-11-21 06:04
以前SAS+STATA,现在全程用STATA。Python用来爬数据,也有朋友用Julia。一部分ECON BG的用R和MATLAB。自己顺手就行。
学校有research service,一般都挂在上面跑。
作者: zzzz_zzzz    时间: 2022-11-21 07:31
1. r/matlab/python/julia都可以做这些事情,python有很多加速的方法,虽然最后可能还是没有其他软件快。另外python已经是高级语言里面最不反人类的了。

2. 每个学校应该都有hpc center,直接把script扔进去跑就行了,应该没有很多人是用自己local跑的。。
作者: 永远没多远    时间: 2022-11-21 08:27
zzzz_zzzz 发表于 2022-11-21 07:31
1. r/matlab/python/julia都可以做这些事情,python有很多加速的方法,虽然最后可能还是没有其他软件快。另 ...

hpc center是在理学院吗?计算机专业他们的labs?
我们PHD的台式机不太行,还不如我自己买的笔记本,都是8核心的5800H的都比这些快。
是不是SAS大家用的都不太多了,都被淘汰了吗?
作者: 永远没多远    时间: 2022-11-21 08:28
raccoon_paw 发表于 2022-11-21 06:04
以前SAS+STATA,现在全程用STATA。Python用来爬数据,也有朋友用Julia。一部分ECON BG的用R和MATLAB。自己 ...

我老师说金融的要SAS比STATA好用,我目前都没看出来有啥优势。STATA比SAS运行块多了,代码还更简单。
作者: raccoon_paw    时间: 2022-11-21 08:44
永远没多远 发表于 2022-11-21 08:28
我老师说金融的要SAS比STATA好用,我目前都没看出来有啥优势。STATA比SAS运行块多了,代码还更简单。 ...


语言只是一种工具,顺手了什么都好用,不熟练什么都不好用。都读博了就没必要什么都“老师说”,你自己觉得什么熟练就用什么。很多senior的教授都很久不碰数据了了。
SAS最大的问题是fixed effect比较不友好,而对于金融/会计绝大多数的empirical research这个是刚需。一般用SAS也是SAS处理数据+STATA跑回归。
建议就是whatever语言,先从一种开始用熟练了再说。
作者: roycheung    时间: 2022-11-21 10:50
SAS蛮多人用的,但是SAS和stata在数据量太大的时候就容易爆内存,建议32G起步。CPU12代13代标压i7就差不多了。GPU不是深度学习的话基本用不上。
作者: zzzz_zzzz    时间: 2022-11-21 14:19
永远没多远 发表于 2022-11-21 08:27
hpc center是在理学院吗?计算机专业他们的labs?
我们PHD的台式机不太行,还不如我自己买的笔记本,都是 ...

理论上,每个学校都有hpc,每个学生应该都可以有权利使用。这点建议去自己学校官网看一下。

如果没有也建议和导师商量下,能不能拿些funding买aws用一下。cloud这么方便,感觉现在已经没有多少任务是会被放在local跑的了。SAS只听说过在商科/经济领域会用,统计一般用r,cs一般用python,c++。

关于cpu/gpu:这个取决于你的任务是需要gpu还是cpu,没法一概而论。
作者: d.jiao    时间: 2022-11-21 22:52
Python(处理数据)+STATA/R(回归)
8G完全足够处理0.3m obs,如果内存崩溃的话,你应该查一查自己代码内存的占用量,例如有没有定义过多的中间变量需要大量存储(通常是代码逻辑有优化空间),而没有及时删除
我身边很少有人用SAS了
作者: raccoon_paw    时间: 2022-11-21 22:55
zzzz_zzzz 发表于 2022-11-21 14:19
理论上,每个学校都有hpc,每个学生应该都可以有权利使用。这点建议去自己学校官网看一下。

如果没有也 ...

SAS的好处是能用WRDS Cloud,而且WRDS有各种现成的code可以抄。很多教授开源的code也是SAS,比如很多TAQ 的code
作者: 永远没多远    时间: 2022-11-22 01:54
raccoon_paw 发表于 2022-11-21 22:55
SAS的好处是能用WRDS Cloud,而且WRDS有各种现成的code可以抄。很多教授开源的code也是SAS,比如很多TAQ  ...

现在python也可以用WRDS cloud,我觉得这不是啥大优势。
作者: 永远没多远    时间: 2022-11-22 01:56
roycheung 发表于 2022-11-21 10:50
SAS蛮多人用的,但是SAS和stata在数据量太大的时候就容易爆内存,建议32G起步。CPU12代13代标压i7就差不多 ...

那我知道为啥我时间那么长了。处理一个7,000OBS的数据,生成2个lag variables, 7mins你敢信。。。我去问问HPC了,一年多了都还不知道有这个HPC,我以为LABS里面的电脑就是学校最好的了。。。
作者: Tripleg    时间: 2022-11-22 01:57
In Fin. research, Stata satisfies the vast majority of one's modeling/computing needs although the more trendy may also try R/Python.
作者: 永远没多远    时间: 2022-11-22 01:58
d.jiao 发表于 2022-11-21 22:52
Python(处理数据)+STATA/R(回归)
8G完全足够处理0.3m obs,如果内存崩溃的话,你应该查一查自己代码内 ...

有的,就是中间过程我会生成很多临时的数据集,会生成很多临时的变量,到最后在合并。这个也要删除吗,我以为这个应该是在hard drive里面。。原来是在RAM里面吗。
作者: 永远没多远    时间: 2022-11-22 02:01
Tripleg 发表于 2022-11-22 01:57
In Fin. research, Stata satisfies the vast majority of one's modeling/computing needs although the m ...

STATA方便多了,代码也简单。。。我们学校好多老师用的还是SAS,这东西我是不喜欢,随便跑一下代码,一个下午就没了。。我找到了学校的HPC了,申请了个账号估计以后会快一点稍微。。

作者: Tripleg    时间: 2022-11-22 02:06
永远没多远 发表于 2022-11-22 02:01
STATA方便多了,代码也简单。。。我们学校好多老师用的还是SAS,这东西我是不喜欢,随便跑一下代码,一个 ...

Yes, Stata involves a minimal amount of coding and in this sense is similar to SPSS. SAS is more a statistical software and is usually the favourite of old-timers. By the way, I recently got a penchant for Python.
作者: raccoon_paw    时间: 2022-11-22 03:15
永远没多远 发表于 2022-11-22 01:54
现在python也可以用WRDS cloud,我觉得这不是啥大优势。

... Stata Matlab R 也都可以通过 SSH连接WRDS cloud, 但是直接登录WRDS cloud 只能用SAS Studio, 而且我之前说了,最主要的是很多现成的code都是SAS。当然,也可能你code大牛,对别人现成的code没兴趣,那确实不是什么大优势。
作者: 想有书书读    时间: 2022-11-22 10:58
我个人完全用Python的,没用过其他的,感觉Python还是有点慢,我做资产定价研究的,处理大量数据常常需要多线程加速。有两个都熟悉的朋友知道哪个更快吗
作者: Konley    时间: 2022-11-22 11:15
个人浅薄的经验:sas stata python r c cpp 都有大于2年或者大于5年的使用。最熟练的是前四者,一定要选一个最熟练的是python。前二者在经济商科中用的多因为senior faculty习惯用sas以及做回归分析没有谁比stata更强大。

至于效率,我在认真学习sas前很不适应,觉得效率低下。等我真的上手之后,发现sas在处理大规模数据面前吊打python。抵触sas觉得不适应的同学们最好还是多尝试。百万行甚至千万行的数据我都能在笔记本上跑,python不可能,会crash的。用好sas能有所助力。

其实语言这东西,还是功能性的。各有优劣,能完成功能就好,多掌握一个有时候是多一条路。比如我做ml nlp 爬虫就必然用python,做可视化我也绝对用python因为我可以玩出花来。pull data就必然sas。回归分析就换到stata。等我想自己写nn来补充一些数据点的时候我甚至可能用cpp以确保我fully customize我想要的算法。

作者: 想有书书读    时间: 2022-11-22 19:10
Konley 发表于 2022-11-22 11:15
个人浅薄的经验:sas stata python r c cpp 都有大于2年或者大于5年的使用。最熟练的是前四者,一定要选一 ...

可以,火速学习一手sas,我用python搞大规模数据太慢了
作者: Konley    时间: 2022-11-22 21:57
想有书书读 发表于 2小时前
可以,火速学习一手sas,我用python搞大规模数据太慢了

也要看你具体搞大规模数据干什么哈。比如数据清洗合并 用sas+sql的组合就是最舒服的。大规模数据ml训练那sas做不了,只能换高级语言挂hpc上去。sas主要是处理数据阶段比其他几个快,缺点就是不像python开源 包多 不好定制代码
作者: Tripleg    时间: 2022-11-23 02:23
The array of Python libraries have made data preprocessing/processing convenient and quick -- if not 'lightning speed'. Why bother about SAS?
作者: 永远没多远    时间: 2022-11-23 06:06
Konley 发表于 2022-11-22 11:15
个人浅薄的经验:sas stata python r c cpp 都有大于2年或者大于5年的使用。最熟练的是前四者,一定要选一 ...

我100多行代码SAS都崩溃了。。。你笔记本还能跑这个吗。
SAS我熟练是熟练工,但是我觉得他处理数据很慢,然后就是做回归分析特别是导出图标很麻烦。不如STATA。

作者: Konley    时间: 2022-11-23 07:04
永远没多远 发表于 57分钟前

不知道你具体处理数据是做什么诶,我没碰到过sas crash的情况,代码行数不太相关,可能主要看你的指令和数据情况?我个人是觉得sas处理数据更快(运算速度更快但是可读性和定制性远不如python)。我用sas处理过最大的差不多一两千万行,几十个variables的各种sql语句这样子,这是在desktop上。笔记本上也能跑,但是肯定慢一些,但不会crash。这要是放python里绝对要挂…

我没记错的话python的pandas之类的是放进ram跑,虽然两者的底层都应该是c,但是python crash的可能性更大。btw,我的笔记本是amd ryzen7的cpu,也就属于普通性能吧。应该不是我的笔记本更耐造的原因哈哈哈。

回归肯定是stata,我从不用sas做回归…就是看各自擅长吧。我们系里的junior faculty一般也是sas处理,stata回归,python和r做一些特别的分析和处理。

其实如果实在不想用sas也没关系,其他语言(严格来说sas不是一种语言)当然也可以解决几乎所有你会碰到的问题。跑得慢就两条路:优化算法或者挂hpc


作者: d.jiao    时间: 2022-11-23 21:18
永远没多远 发表于 2022-11-22 01:58
有的,就是中间过程我会生成很多临时的数据集,会生成很多临时的变量,到最后在合并。这个也要删除吗,我 ...

一个可行的方法是即使存储临时变量,然后删除内存中的,需要的时候再读回来,这样还能规避进程崩溃或者处理不当变量丢失的问题
作者: d.jiao    时间: 2022-11-23 21:20
Konley 发表于 2022-11-22 11:15
个人浅薄的经验:sas stata python r c cpp 都有大于2年或者大于5年的使用。最熟练的是前四者,一定要选一 ...

把所有pd dataframe 的计算处理交给np array,把所有循环写成矩阵的计算,会对效率提升有一些帮助。
作者: Konley    时间: 2022-11-23 22:35
d.jiao 发表于 1小时前
把所有pd dataframe 的计算处理交给np array,把所有循环写成矩阵的计算,会对效率提...

嗯嗯是的
作者: PIDOLIN    时间: 2023-3-28 22:17
Mark一下!               
作者: PIDOLIN    时间: 2023-3-28 22:25
感谢分享!               




欢迎光临 ChaseDream (https://forum.chasedream.com/) Powered by Discuz! X3.3