zoukankan      html  css  js  c++  java
  • 中欧医疗健康基金预测

    我做了一个预测, 根据前100天的涨幅,预测第101天在哪个分段位。

    将涨幅分了5个等级

    设涨幅为x

    x>=1.5.     为 0 段

    x>=0.5.     为 1 段

    x>=-0.25    为 2 段

    x>=-1.25    为 3 段

    x<-1.25    为 4 段

    T = [1.5, 0.5, -0.25, -1.25]
    def getGroup(x):
        for i in range(4):
          if x>=T[i]:
            return i;
    
        return 4

    之所以按这个分段, 是因为每一段的分布密度均等。  关于服从啥分布在上一面已经分析出来了。

    理论上, 涨幅的所在的概率均为20%, 因为将这个分布平均分成了5等份。 结果

    #coding:utf8
    from sklearn.datasets import load_iris
    from sklearn import tree
    import matplotlib.pyplot as plt
    import numpy as np
    from sklearn.metrics import classification_report
    
    
    train_data = np.load("train003096.npy")
    valid_data = np.load("valid003096.npy")
    # iris = load_iris()
    # X, y = iris.data, iris.target
    X =  train_data[:,:-1]
    y =  train_data[:,-1].astype(np.int32)
    valid_X = valid_data[:,:-1]
    valid_y = valid_data[:,-1].astype(np.int32)
    # print(type(y[0]))
    clf = tree.DecisionTreeClassifier()
    clf = clf.fit(X, y)
    valid_y_pred = clf.predict(valid_X)
    # tree.plot_tree(clf)
    print(clf.score(valid_X, valid_y))
    print(clf.tree_.predict(valid_X))
    print(classification_report(valid_y, valid_y_pred, labels=range(5)))
    # clf.predict()
    # plt.show() 

    训练结果: 每个类别的正确率大概为21%。   只提升了1百分点。   

    总结: 靠这种预测未来的涨幅处于哪个分段,完成不可取。 没啥用。 

    估计不管是回归模型和分类模型,都对买基金没有实际用处。 只能靠RNN,  GRU, LSTM模型, 带时预测模型才OK

    为啥这样讲,就好比抛硬币,50%的概率朝上, 50%的概率的朝下。 人工智能预测下一次朝上或者朝下的概率,正确率也只能是50%,

    即使前面连续出现10次朝上,第11次朝上的概率依次是50%。  某次的概率的不会因为前面的数据影响概率。

  • 相关阅读:
    java-String类
    多线程的细节
    java-多线程的练习----妖,等待唤醒,代码重构,lock到condition
    javascript函数的声明和调用
    表单
    java-多线程的入门_进阶总结
    uboot命令
    u-boot移植 III
    u-boot移植 II
    汇编词典
  • 原文地址:https://www.cnblogs.com/dzqdzq/p/15105399.html
Copyright © 2011-2022 走看看