搜索
人大经济论坛 标签 MATLAB 相关日志

tag 标签: MATLAB经管大学堂:名校名师名课

相关日志

分享 stata11/12/13/14,windows/mac版本、结构方程软件(AMOS、Mplus、Smartpls等)、系统动 ...
yujingren110 2016-9-19 22:44
stata11/12/13/14,windows/mac版本、结构方程软件(AMOS、Mplus、Smartpls等)、系统动力学软件Vensim、matlab、AHP层次分析软件,spss、eviews8.0等最新最全的科研软件尽在这里,点击下方链接,进入大学生联盟—雨馨工作室!! 我们提供一切科研学习软件,包括视频教程、文本教程、代码编写、软件教学等等! https://shop428718139.taobao.com/shop/view_shop.htm?tracelog=twddpuser_number_id=1683575246
28 次阅读|0 个评论
分享 matlab,python实用的机器学习工具箱和代码
热度 1 心碎的科学 2016-5-31 05:32
matlab: initPmtk3: https://code.google.com/p/pmtk3/ 非常强大的一个工具包,几乎包含了机器学习所有常用算法。 dimension reduction: http://www.cad.zju.edu.cn/home/dengcai/Data/data.html 蔡登的论文代码,主要是降维的如PCA,LDA等,还有谱回归、特征选择、矩阵分解、聚类等。 feature extraction: LBP feature: http://www.cse.oulu.fi/CMV/Downloads/LBPMatlab 局部二值模型(Local Binary Pattern),一种非常强大的纹理特征 classifier: random forest: https://code.google.com/p/randomforest-matlab/   随机森林分类器,准确率与速度都还不错 libsvm: www.csie.ntu.edu.tw/~cjlin/libsvm/  最强大的SVM工具箱 sparse representation: http://www.eecs.berkeley.edu/~yang/software/l1benchmark/ 稀疏表示分类器 python: numpy: www.numpy.org/ scipy: www.scipy.org/ 前两个主要是数值运算包,在机器学习,数据挖掘方面也是必须的。 scikit-learn:scikit-learn.org/ python中最强大的机器学习包
8 次阅读|1 个评论
分享 DEA和SFA
热度 2 hildegardvon 2016-2-16 08:48
DEA的matlab程序编写,DEA-u,SBM-u,SBM-C,SBM-I(O)-C(V),malmquist指数和malmquist-L指数。 super-DEA,普通DEA程序,metafrontier,Tone(2001)的模型。 SFA:BC1992,1995模型。SFA的横截面数据的matlab估计。
34 次阅读|2 个评论
分享 matlab与计量
热度 1 siegfriedkirche 2015-6-27 07:31
自己编写或修改程序: 1.SFA(随机前沿分析) 2.DEA 3.三阶段DEA 4.meta-frontier 5.probit 6.biprobit 7.tobit 8.heckman 9.movestay命令 10.极大似然估计 11.VAR(SVAR)。 12.GARCH系列: (ARMA) GARCH, (ARMA) TGARCH, (ARMA) EGARCH;IGARCH等。 13.ARCH模型 14.TAR模型,BL模型,GAR模型,LSTAR和ESTAR,STAR模型, 15.协整与误差修正模型(ECM): 16.滞后变量模型 17.广义矩估计 18.异方差 19.序列相关 20.其他时间序列问题。(平稳性,趋势) 21.clogit 22.mlogit 23.负二项式回归(含censor) 24.possion (含censor) 25. CupBC 26.转换回归 27.zip模型 28.单指标模型 29.联立方程模型 以下不是自己编写程序: 30.PTR和PTAR模型 31.TVP-VAR 32.BVAR 33.MSVAR 33. 面板数据模型(PVAR模型,PSTR模型): 34.FCVAR 35.TVAR模型 收藏 分享
个人分类: matlab|22 次阅读|1 个评论
分享 计算物理学研究方法
accumulation 2015-5-19 13:58
计算物理学具体的方法有:蒙特卡罗方法(不确定性方法)、分子动力学方法(确定性)有限差分法,有限元素法,计算机代数(mathmatic,matlab),神经元网络方法,元胞自动机方法,高性能并行计算。 一个多粒子体系的实验可以观测的物理量(状态量)的数值可以由其涉及的态的量值的总的统计平均求得。实际上按照产生位形变化的方法,有两类方法对有限的系列态的物理量做统计平均。 随机模拟方法 随机模拟方法中体系位形的转变是通过马尔可夫(Markov)过程由随机性的演化引起的。马尔可夫过程相当于是内禀动力学在概率方面的对应。该方法可以用到没有任何内禀动力学模型体系的模拟中。该法计算程序简单,占内存少,但难于处理非平衡态的问题。 确定性模拟方法 确定性模拟方法即统计物理中的MD方法。这个方法广泛用于研究经典的多粒子体系。其按体系内部的内禀动力学规律来计算并确定其位形的转变。首先需要建立一组分子的运动方程,通过直接对系统中的一个个分子运动方程的数值求解,得到各个时刻的分子的坐标和动量,即相空间中的轨迹,利用统计力学计算方法得到多体系统的静态或者动态性质,从而得到系统的宏观性质。该方法特征是一个体系,一段时间,其方程组的建立要通过对物理体系的微观数学描述给出,微观体系中每隔分子各自服从经典的牛顿力学,而每个分子运动的内禀动力学是利用理论力学上的哈密顿量或者拉格朗日量来描述,或者用牛顿运动方程表示。方法中不存在随机因素。该法是实现玻尔兹曼(boltzmann)的统计力学,可以处理与时间有关的过程,因而可以处理非平衡态问题。缺点是程序复杂,计算量大,占内存多。 原则上MD方法适用的微观物理体系并无限制,这个方法适用于少体和多体系统,也可以是点粒子系统或者具有内部结构的系统,也可以是分子系统或者其他粒子系统。 但是上述两种模拟方法都面临基本限制:其一有限的观测时间,其二是有限系统大小。人们通常感兴趣于体系在热力学极限(粒子数趋于无穷多时)的性质,因此计算机模拟有限体系可能会出现有限尺寸效应,为减小该效应,人们引入周期性,全发射,漫反射等边界条件。当然同时边界条件的引入也会引起体系某些性质的变化。 其它 另外,体系的运动方程组采用计算机进行数值求解时,要将方程离散化为有限差分法。常用的方法有欧拉法,龙格-库塔法,辛普生法等。数值计算的误差阶数显然也取决于所采用的数值求解方法的近似阶数,原则上计算机计算速度足够大,内存足够多,可以使得误差降低。 MD方法中,最自然的应用是微正则系综,这时能量是守恒的。当我们要研究温度和压力是常量的系统时,系统不能是封闭的。MD方法中常常是在想像中将系统放入热浴和压浴中,实际上在计算中往往是对某些自由度进行限制和约束来实现的。例如恒温时是保证其体系的平均动能不变,为此设计新的算法,由于新的约束出现,我们并不是处理一个真正的正则系综,实际上是仅仅复制了系综的位形部分。理论上讲,只要这个约束没有破坏一个状态到另一个状态的马尔可夫特性,这样做就是可行的,当然其动力学性质可能会受到这一约束的影响。 自20世纪50年代以来,MD方法得到广泛应用,取得一定成功。例如对于气体或液体的状态方程,相变问题,吸附问题,扩散问题,以及非平衡过程的问题研究,应用范围从化学反应、生物学的蛋白质,重离子的碰撞,材料设计,纳米科技等广泛的学科和研究领域。
个人分类: 裂变模型|0 个评论
分享 MATLAB—fminbnd
accumulation 2015-5-1 19:02
关于非线性优化fminbnd函数的说明(仅供新手参考) 初学matlab优化,迭代中止后,经常一头雾水。参看帮助后仍似懂非懂。下面关于fminbnd函数的说明(也可作为fmincon函数的参考)对于新手也许会有帮助,不当之处请指正。 目标函数fun: 需要最小化的目标函数。fun函数需要输入标量参数x,返回x处的目标函数标量值f。可以将fun函数指定为命令行,如 x = fminbnd(inline('sin(x*x)'),x0) 同样,fun参数可以是一个包含函数名的字符串。对应的函数可以是M文件、内部函数或MEX文件。若fun='myfun',则M文件函数myfun.m 有下面的形式 function f = myfun(x) f = ... %计算x处的函数值。 若fun函数的梯度可以算得,且options.GradObj设为'on'(用下式设定), options = optimset('GradObj','on') 则fun函数必须返回解x处的梯度向量g到第二个输出变量中去。注意,当被调用的fun函数只需要一个输出变量时(如算法只需要目标函数的值而不需要其梯度值时),可以通过核对nargout的值来避免计算梯度值。 function = myfun(x) f = ... %计算x处得函数值。 if nargout 1 %调用fun函数并要求有两个输出变量。 g = ... %计算x处的梯度值 end 若Hessian矩阵也可以求得,并且options.Hessian设为'on',即, options = optimset('Hessian','on') 则fun函数必须返回解x处的Hessian对称矩阵H到第三个输出变量中去。注意,当被调用的fun函数只需要一个或两个输出变量时(如算法只需要目标函数的值f和梯度值g而不需要Hessian矩阵H时),可以通过核对nargout的值来避免计算Hessian矩阵 function = myfun(x) f = ... % 计算x处得函数值。 if nargout 1 % 调用fun函数并要求有两个输出变量。 g = ... % 计算x处的梯度值。 if nargout 2 H = ... % 计算x处的Hessian矩阵。 End 优化参数选项options: 可以通过optimset函数设置或改变这些参数。其中有的参数适用于所有的优化算法,有的则只适用于大型优化问题,另外一些则只适用于中型问题。 首先描述适用于大型问题的选项。这仅仅是一个参考,因为使用大型问题算法有一些条件。对于fminunc函数来说,必须提供梯度信息。 LargeScale – 当设为'on'时使用大型算法,若设为'off'则使用中型问题的算法。 适用于大型和中型算法的参数: Diagnostics – 打印最小化函数的诊断信息。 Display – 显示水平。选择'off',不显示输出;选择'iter',显示每一步迭代过程的输出;选择'final',显示最终结果。打印最小化函数的诊断信息。 GradObj – 用户定义的目标函数的梯度。对于大型问题此参数是必选的,对于中型问题则是可选项。 MaxFunEvals – 函数评价的最大次数。 MaxIter – 最大允许迭代次数。 TolFun – 函数值的终止容限。 TolX – x处的终止容限。 只用于大型算法的参数: Hessian – 用户定义的目标函数的Hessian矩阵。 HessPattern – 用于有限差分的Hessian矩阵的稀疏形式。若不方便求fun函数的稀疏Hessian矩阵H,可以通过用梯度的有限差分获得的H的稀疏结构(如非零值的位置等)来得到近似的Hessian矩阵H。若连矩阵的稀疏结构都不知道,则可以将HessPattern设为密集矩阵,在每一次迭代过程中,都将进行密集矩阵的有限差分近似(这是缺省设置)。这将非常麻烦,所以花一些力气得到Hessian矩阵的稀疏结构还是值得的。 MaxPCGIter – PCG迭代的最大次数。 PrecondBandWidth – PCG前处理的上带宽,缺省时为零。对于有些问题,增加带宽可以减少迭代次数。 TolPCG – PCG迭代的终止容限。 TypicalX – 典型x值。 只用于中型算法的参数: DerivativeCheck – 对用户提供的导数和有限差分求出的导数进行对比。 DiffMaxChange – 变量有限差分梯度的最大变化。 DiffMinChange - 变量有限差分梯度的最小变化。 LineSearchType – 一维搜索算法的选择。 exitflag : 描述退出条件 exitflag 0 表示目标函数收敛于解x处。 exitflag =0 表示已经达到函数评价或迭代的最大次数。 exitflag 0 表示目标函数不收敛。 output: 该参数包含下列优化信息: output.iterations – 迭代次数。 output.algorithm – 所采用的算法。 output.funcCount – 函数评价次数。 output.cgiterations – PCG迭代次数(只适用于大型规划问题)。 output.stepsize – 最终步长的大小(只用于中型问题)。 output.firstorderopt – 一阶优化的度量:解x处梯度的范数。 建议: 1.对于求解平方和的问题,fminunc函数不是最好的选择,用lsqnonlin函数效果更佳。 2.使用大型方法时,必须通过将options.GradObj设置为'on'来提供梯度信息,否则将给出警告信息。 关于算法: 大型优化算法若用户在fun函数中提供梯度信息,则缺省时函数将选择大型优化算法,该算法是基于内部映射牛顿法的子空间置信域法,理论描述可参见文献 , 。计算中的每一次迭代涉及到用PCG法求解大型线性系统得到的近似解。 中型优化算法此时fminunc函数的参数options.LargeScale设置为'off'。该算法采用的是基于二次和三次混合插值一维搜索法的BFGS拟牛顿法。该法通过BFGS公式来更新Hessian矩阵。通过将HessUpdate参数设置为'dfp',可以用DFP公式来求得Hessian矩阵逆的近似。通过将HessUpdate参数设置为'steepdesc',可以用最速下降法来更新Hessian矩阵。但一般不建议使用最速下降法。 缺省时的一维搜索算法,当options.LineSearchType 设置为'quadcubic'时,将采用二次和三次混合插值法。将options.LineSearchType设置为'cubicpoly'时,将采用三次插值法。第二种方法需要的目标函数计算次数更少,但梯度的计算次数更多。这样,如果提供了梯度信息,或者能较容易地算得,则三次插值法是更佳的选择 局限性: 1.目标函数必须是连续的。fminunc函数有时会给出局部最优解。 2.fminunc函数只对实数进行优化,即x必须为实数,而且f(x)必须返回实数。当x为复数时,必须将它分解为实部和虚部。 3.在使用大型算法时,用户必须在fun函数中提供梯度(options参数中GradObj属性必须设置为'on')。 4.目前,若在fun函数中提供了解析梯度,则options参数DerivativeCheck不能用于大型算法以比较解析梯度和有限差分梯度。通过将options参数的MaxIter 属性设置为0来用中型方法核对导数。然后重新用大型方法求解问题。
个人分类: 裂变模型|0 个评论
分享 C++数值计算矩阵库
accumulation 2015-4-30 13:50
做工程计算的东西,总感觉需要一个优秀的矩阵库,片断性的问题,一般都是用matlab就很方便,但是做程序的话,虽然也可以使用matlab,总是有点七零八落,今天趁机查了一些c++数值库的信息,尤其是矩阵库,一些出色的文章我也粘贴到了blog中,呵呵,我记性可不是象人家程序那么出色,:), http://www-900.ibm.com/developerWorks/cn/linux/other/matrix/index.shtml 评估和比较 Meschach、Cooperware 矩阵和 Blitz,developworks上的文章,进行了分析比较,尤其是性能分析,没有提到mtl, http://blog.csdn.net/ccboy/archive/2003/05/02/10432.aspx , VC++ .NET 2003 –安装和使用Boost 1.30和Blitz++0.6,是ccboy的安装blitz的一些细致说明,对于第一次安装使用blitz库,用处很大, http://www.zengyihome.net/articles/C++/incompleteCPPreference1-2.htm C++资源之不完全导引,我立即把这个网页打印了一份,里边对c++资源讲的很多,都是c++的精品,对数值库的分析有点泛泛,人家本来就不是做数值库分析的文章,呵呵, http://www.oonumerics.org/blitz/manual/Frames.html blitz的user guide,和一般的介绍差不多,的确是数值计算,里边有随机数的生成,不知道和boost库的随机数有什么不同,对于矩阵就少点,没有那些常用的矩阵变换,只有自己去实现了,(强烈要求添加矩阵常用运算)还好,那次书店看到一本翻译的《C++数值分析》,有理论,源代码,自己看着修改,应该也不是问题, http://www.osl.iu.edu/research/mtl/reference/html/index.html mtl的index主页,专注与矩阵运算,但是我没在里边看到求逆函数,兴许是没找到 http://www.oonumerics.org/oon/ 面向对象数值计算库的总的介绍,各类数值库都有,线性代数,阵图形,神经网络,高能物理量子计算,微分方程,可视化,图论,强烈推荐啊,不排除各种库会存在问题(手头使用的一些库都存在问题,经常得修改,非常害怕搞不好就那么崩了),希望使用者和开发者多多完善它们,功德无量啊,:) 说了这么多,我想还是blitz比较合适,首先是需要它的稳定和性能,至于其中没有的算法,只好参照别人的东西自己写了, 再加上Boost中的blas库,提供了Vector,Matrix的类型,还有三角矩阵,对称矩阵,稀疏矩阵等,里边的稀疏矩阵采用了类似map的结构,看模板的东西真的好累,里边的vector expression,matix expression没有看太明白它们的结构,有时间再慢慢看代码了,它的例子倒是很简练的。
个人分类: 金融工程|0 个评论

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-27 22:04