Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/314.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/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
如何在Python中使用零偏斜日志转换_Python_Scipy_Curve Fitting_Skew - Fatal编程技术网

如何在Python中使用零偏斜日志转换

如何在Python中使用零偏斜日志转换,python,scipy,curve-fitting,skew,Python,Scipy,Curve Fitting,Skew,如何在Python中进行零偏斜日志转换 例如,在Stata中,它在lnskew0中实现(请参阅) 我没有找到Python的实现。有人知道一个实现吗 否则,第一次尝试将是: 从scipy.stats导入倾斜 将numpy作为np导入 从scipy.optimize导入根目录\u标量 def LN0(x): def歪斜ln(k): 返回偏斜(np.log(x-k)) res=根标量( 歪斜, 括号=[-x.min(),x.max()*0.99999], 方法='bisect' ) 返回np.log(

如何在Python中进行零偏斜日志转换

例如,在Stata中,它在
lnskew0
中实现(请参阅)

我没有找到Python的实现。有人知道一个实现吗

否则,第一次尝试将是:

从scipy.stats导入倾斜
将numpy作为np导入
从scipy.optimize导入根目录\u标量
def LN0(x):
def歪斜ln(k):
返回偏斜(np.log(x-k))
res=根标量(
歪斜,
括号=[-x.min(),x.max()*0.99999],
方法='bisect'
)
返回np.log(x-res.root)

在只有正数的
numpy
数组上工作正常。Stata的
lnskew0
是如何实现的,它也适用于负数?

我又尝试了一次,使它也适用于负数:

从scipy.stats导入倾斜
将numpy作为np导入
从scipy.optimize导入根目录\u标量
def LN0(x):
x0=x+1
def倾斜位置(k):
使用np.errstate(all='ignore'):
返回偏斜(np.log(x0-k))
res_pos=根标量(
歪斜,
括号=[-150150],
方法='bisect'
)
def歪斜(k):
使用np.errstate(all='ignore'):
返回偏斜(np.log(-x0-k))
res_neg=根标量(
歪斜,
括号=[-150150],
方法='bisect'
)
res=(res_pos.root-1,res_neg.root+1)
lnskew0\u res=(
np.log(x-res[0]),
np.log(-x-res[1])
)
whichmin=np.nanargmin([abs(skew(x))表示lnskew0_res中的x)
返回lnskew0_res[哪分钟]
注意:它仍然有一个问题。需要手动选择
根标量的括号