Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R FitDisr for Beta发行版:哪些启动参数?_R_Estimation_Python_Beta - Fatal编程技术网

R FitDisr for Beta发行版:哪些启动参数?

R FitDisr for Beta发行版:哪些启动参数?,r,estimation,python,beta,R,Estimation,Python,Beta,我需要将数据放入Beta分布并检索alpha参数。我尝试使用python中的R(rpy2),我的代码如下所示: from rpy2 import * from rpy2.robjects.packages import importr MASS = importr('MASS') #myVector is a Numpy array with values between 0 and 1 MASS.fitdistr(myVector,"beta") 但我得到了这个错误: Error in fu

我需要将数据放入Beta分布并检索alpha参数。我尝试使用python中的R(rpy2),我的代码如下所示:

from rpy2 import *
from rpy2.robjects.packages import importr
MASS = importr('MASS') #myVector is a Numpy array with values between 0 and 1
MASS.fitdistr(myVector,"beta")
但我得到了这个错误:

Error in function (x, densfun, start, ...)  : 
  'start' must be a named list
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python2.7/dist-packages/rpy2/robjects/functions.py", line 82, in __call__
    return super(SignatureTranslatedFunction, self).__call__(*args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/rpy2/robjects/functions.py", line 34, in __call__
    res = super(Function, self).__call__(*new_args, **new_kwargs)
rpy2.rinterface.RRuntimeError: Error in function (x, densfun, start, ...)  : 
  'start' must be a named list
函数中出现错误(x、登峰、启动…): “开始”必须是命名列表 回溯(最近一次呼叫最后一次): 文件“”,第1行,在 文件“/usr/lib/python2.7/dist packages/rpy2/robjects/functions.py”,第82行,在调用中__ 返回super(SignatureTranslatedFunction,self)。\调用(*args,**kwargs) 文件“/usr/lib/python2.7/dist packages/rpy2/robjects/functions.py”,第34行,在调用中__ res=super(函数,自).\uuuuuuuuu调用(*新参数,**新参数) rpy2.rinterface.rrontimeerror:函数(x,densfun,start,…)中存在错误: “开始”必须是命名列表 我似乎找不到任何关于R的详细示例的好文档,所以我只找到了:

开始一个命名列表,给出要使用初始值优化的参数。对于某些指定的 分发(请参阅详细信息)。。。其他参数,无论是 邓斯芬还是为了optim。特别是,它可以用来指定边界 通过下部或上部或两者。如果densfun的参数(或密度 对应于字符串规范的函数)是 包括他们将举行固定

我真的不知道:

  • 将什么作为起始参数以及这将如何影响我的估计
  • 在Python中使用什么语法,因为
    start=list(shape1=0.5,shape2=0.5)
    不会起作用

有什么提示吗?

好的,在进一步挖掘之后,我找到了一个解决方案:

from rpy2.robjects import DataFrame
starter= DataFrame({'shape1':0.5,'shape2':0.5})
x = MASS.fitdistr(myValues, "beta", start=starter))

您至少需要阅读和的
R
手册页面。它们一起揭示了
R
命令用于您尝试执行的操作类似于
fitdistr(x,“beta”,start=list(shape1=1/2,shape2=1/2))
。谢谢。一个大问题是
fitdress(x,“beta”,start=list(shape1=1/2,shape2=1/2))
不会被Python的解释器接受<代码>回溯(最近一次调用last):文件“”,第1行,在TypeError:list()中最多接受1个参数(给定2个)我在python中也找不到任何带有start参数的FitDisr示例。rpy2的文档建议您可能要使用
dict
对象将列表作为参数传递。如果这不起作用,创建一个。无论如何,因为这纯粹是一个编程接口问题,所以我将为您迁移这个问题。在我的第一条评论中,第二个链接的第二个链接是:
shape1
是alpha,而
shape2
是beta。