如何解决手动计算时PySpark线性回归pValue之间的值不匹配
我正在使用以下代码手动计算线性回归PValue。
import numpy as np
import math
from scipy import stats
def p_value(y: list,y_:list,x:list,n_vars:int,c: float):
"""
y = targets
y_ = predictions
x = ind variable
n_vars = number of dependent vars
c = var coefficnt
"""
x_bar = np.mean(x)
y = np.array(y)
y_ = np.array(y_)
n = len(x)
df = n - n_vars
# SE = sqrt [ Σ(yi - ŷi)2 / (n - 2) ] / sqrt [ Σ(xi - x)2 ]
se = math.sqrt(np.sum((y - y_)**2)/(n -2)) / math.sqrt(np.sum((x - x_bar)**2))
t = c / se
p = (1 - stats.t.cdf(abs(t),df)) * 2
return p
但是,我无法通过上述方法从Pysapark线性回归中再现Pvalues。
- 我的代码中是否有任何错误?
- 如何找到Pyspark线性回归Pvalues源代码?
预先感谢。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。