手动计算时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。

  1. 我的代码中是否有任何错误
  2. 如何找到Pyspark线性回归Pvalues源代码

预先感谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)