题目描述
编写程序由用户指定维度n,建立向量A,B,并随机赋初值,计算向量A、B的相关系数R,纳什系数NSE、均方根误差RMSE。
#A为实际值,B为预测值
import random
n=int(input("请输入向量维度n:"))
A=[]
B=[]
for i in range(1,n+1):
A.append(random.randint(1,10))
B.append(random.randint(1,10))
suma=0
import os
sumb=0
for i in range(0,n):
suma=A[i]+suma
sumb=B[i]+sumb
avea=suma/n
aveb=sumb/n
cova=0
covb=0
cova2=0
covb2=0
cov=0
for i in range(0,n):
cova=(A[i]-avea)
covb=(B[i]-aveb)
cov=cova*covb+cov
cova2=pow(A[i]-avea,2)+cova2
covb2=pow(B[i]-aveb,2)+covb2
R=(cov)/(pow((cova2),0.5)*pow(covb2,0.5))
up=0
down=0
for i in range(0,n):
up=pow((A[i]-B[i]),2)+up
down=pow((A[i]-aveb),2)+down
NSE=1-up/down
RMSE=pow(up/n,0.5)
print("实际值A",A)
print("预测值B",B)
print("相关系数R",R)
print("纳什系数NSE",NSE)
print("均方根误差RMSE",RMSE)
万水千山总是情,给个打赏行不行。
打赏

百度已收录