正态分布PDF R和Python与csv-fi

2024-09-30 12:32:58 发布

您现在位置:Python中文网/ 问答频道 /正文

# Integrationsgewichte (später hinterfragen...)
me.G5 = read.csv('xy.csv',sep=';',header=FALSE)[,2:3] 

me.x = me.G5[,1] 
me.w = me.G5[,2]
int.x = c((me.x/2+.5)*0.1,0.1+(me.x/2+.5)*0.9,1+(me.x/2+.5)*9,10+(me.x/2+.5)*90,100+(me.x/2+.5)*900)
int.w = c(me.w*0.1/2,me.w*.9/2,me.w*9/2,me.w*90/2,me.w*900/2)


### pdf
me.pdf  = function(MF,l) {
    pdf = function(x){
            for(i in 1:length(l)) X[,i] = MF[[i]](x)
            exp(l%*%t(X))
        }
    pdf
}

这个代码是R。。。。我知道我们只使用2:3列。 所以我明白密码,这就是我的情节。在

enter image description here

现在我用Python做了,我知道有很多库可以用于pdf,我做了

^{pr2}$

我知道,我做这件事的方式很糟糕。我真的提高了我的python技能。在

。。。。。。。。。。。在

enter image description here

这部分只是R代码的前5行。 所以现在,我用了pdf的库,把我变成了一个普通的pdf 比较两者。 ......... ........ 在

from scipy.stats import norm
import matplotlib.pyplot as plt
fig, ax = plt.subplots(1,1)
a= np.linspace(norm.ppf(0.01),norm.ppf(0.99),100)
ax.plot(a, norm.pdf(a), 'r-', lw=5, alpha=0.6, label='norm pdf')

这是代码的图表(norm pdf) enter image description here

所以我试着做的,和R的第一张图一样。 或者在Python中不可能将pdf用于ra库中的定义?!在


Tags: csv代码importnormpdffunctionpltax
1条回答
网友
1楼 · 发布于 2024-09-30 12:32:58

好吧对不起,我忘了

这是我在R中的全部代码

### l
me.l    = function(MF,mt,sv=NA,tol=1e-10) {
    V   = mt[2:length(mt)]
    if(is.na(sv[1])) l  = rep(0,length(V)) else l = sv[-1]      
    X   = matrix(NaN,length(int.x),length(l))
    for(i in 2:length(MF)) X[,i-1]  = MF[[i]](int.x)
    run = 0;sig = 1
    while((max(abs(sig))>tol)&(run<40)) {
            m1  = as.vector(exp(l%*%t(X))*int.w)
            g   = m1%*%t(t(X)-V)
            G   = (t(X)-V)%*%(m1*t(t(X)-V))
            sig = solve(G,-t(g))
            l   = l + sig
            l   = as.vector(l)
            run = run +1            
        }
    m1  = as.vector(exp(l%*%t(X))*int.w)
    l0  = -log(sum(m1))
    c(l0,l) 
}



> MPO   = list();
> MPO[[1]] = function(x) 1
> MPO[[2]] = function(x) x
> MPO[[3]] = function(x) x^2
> MPO[[4]] = function(x) x^3
> l1 =  me.l(MPO[1:3],c(1,5,26))
> x = seq(0,10,,1e4)
> plot(x,me.pdf(MPO[1:3],l1)(x),type='l',lwd=2)
> lines(x,dnorm(x,5,1),col='red')

最后一部分是我在R控制台上写的东西。在

现在我做到了

^{pr2}$

我得到了这张图 enter image description here

相关问题 更多 >

    热门问题