2

私のcsvファイルには離散変数と連続変数が含まれており、離散変数(x、y、z)に従って連続変数(a)を説明する「モデルの方程式」を見つけたいと思います。->a=f(x,y,z)。問題は、このコードを試しているが失敗することです。print([f_value, p_value] stats.f_oneway = (x, y, z)) の結果を見たいときは、[nan, nan] を取得します。私のコードから抽出:

from numpy import (genfromtxt,hstack,arange)
#Pr linear regression
from scipy import stats
import scipy
#Pr ANOVA
from statsmodels.stats.multicomp import (pairwise_tukeyhsd,MultiComparison)

from pylab import savefig
from matplotlib.pyplot import (figure,setp)

fname="G:/table.csv"
my_data = genfromtxt(fname,delimiter=',')

#Transformation of file into table

x= my_data[:,3]
y= my_data[:,4]
z= my_data[:,6]


#one way anova
[f_value, p_value] = stats.f_oneway(x, y, z)

モデルを推定したい R=u+f(x,y,z)+ e ここで、R (連続変数)、u (定数)、e (測定誤差)。離散変数が連続結果にどのように影響するかの係数が必要です。

4

1 に答える 1

3

私の最善の推測は、データに NaN 値または不適切な値が含まれていることです。次のコードを使用して検出を試みることができます。

for i in range(1,len(x)):
    (f_val,p_val) = stats.f_oneway(x[:i],y[:i],z[:i])
    if numpy.isnan(f_val) or numpy.isnan(p_val):
        print i-1,x[i-1],y[i-1],z[i-1],f_val,p_val
于 2013-08-14T09:19:52.360 に答える