Numpy 오류 ValueError : scale <= 0

Krzysztof Fajst

아래 Python 코드를 실행하고 numpy에서 오류가 발생합니다.

파일 "C : \ Users \ Krzysztof \ PycharmProjects \ PSO \ AssetSimulator.py", 줄 20, wiener_process return nrand.normal (loc = 0, scale = sqrt_delta_sigma, size = self.time) 파일 "mtrand.pyx", 줄 1557, mtrand.RandomState.normal (numpy \ random \ mtrand \ mtrand.c : 13649) ValueError : scale <= 0

어떤 생각? numpy 1.9.2가 있습니다.

크리스토퍼

import math
import numpy
import pandas
import numpy.random as nrand



class AssetSimulator:
    def __init__(self, delta, sigma, mu, time):
        self.delta = delta
        self.sigma = sigma
        self.time = time
        self.mu = mu

    def wiener_process(self):
        sqrt_delta_sigma = math.sqrt(self.delta) * self.sigma
        return nrand.normal(loc=0, scale=sqrt_delta_sigma, size=self.time)

그리고 여기 러너 함수, 시그마가 음수라고 생각하지 않습니다.

def runner_all(n, sigma, delta, mu, time, iterations, simulations, path, ce, cb, le, lb):
    print("Experiment", path, "starting")
    asset_simulator = AssetSimulator(delta, sigma, mu, time)

    Portfolio.memoizer = {}
    none, penalty, lagrange, repair, preserve, ss = [], [], [], [], [], 30
    none_ve, penalty_ve, lagrange_ve, repair_ve, preserve_ve = [], [], [], [], []
    none_vb, penalty_vb, lagrange_vb, repair_vb, preserve_vb = [], [], [], [], []

    for i in range(simulations):
        print("Simulation", i, "starting")
        asset_returns = asset_simulator.assets_returns(n)
        corr = pandas.DataFrame(asset_returns).transpose().corr()
        # three_dimensional_landscape(asset_returns, corr, 100)

        none_opt = BarebonesOptimizer(ss, asset_returns, corr)
        result, violation_e, violation_b = none_opt.optimize_none(iterations + 1, ce, cb, le, lb)
        none_ve.append(violation_e)
        none_vb.append(violation_b)
        none.append(result)
        print("\tAlgorithm 1 Done")

        lagrange_opt = BarebonesOptimizer(ss, asset_returns, corr)
        result, violation_e, violation_b = lagrange_opt.optimize_penalty(iterations + 1, ce, cb, le, lb)
        penalty_ve.append(violation_e)
        penalty_vb.append(violation_b)
        penalty.append(result)
        print("\tAlgorithm 2 Done")

        lagrange_opt = BarebonesOptimizer(ss, asset_returns, corr)
        result, violation_e, violation_b = lagrange_opt.optimize_lagrange(iterations + 1, ce, cb, le, lb)
        lagrange_ve.append(violation_e)
        lagrange_vb.append(violation_b)
        lagrange.append(result)
        print("\tAlgorithm 3 Done")

        repair_opt = BarebonesOptimizer(ss, asset_returns, corr)
        result, violation_e, violation_b = repair_opt.optimize_repair(iterations + 1, ce, cb, le, lb)
        repair_ve.append(violation_e)
        repair_vb.append(violation_b)
        repair.append(result)
        print("\tAlgorithm 4 Done")

        preserve_opt = BarebonesOptimizer(ss, asset_returns, corr)
        result, violation_e, violation_b = preserve_opt.optimize_preserving(iterations + 1, ce, cb, le, lb)
        preserve_ve.append(violation_e)
        preserve_vb.append(violation_b)
        preserve.append(result)
        print("\tAlgorithm 5 Done")

    n_r, n_ve, n_vb = pandas.DataFrame(none), pandas.DataFrame(none_ve), pandas.DataFrame(none_vb)
    r_r, r_ve, r_vb = pandas.DataFrame(repair), pandas.DataFrame(repair_ve), pandas.DataFrame(repair_vb)
    p_r, p_ve, p_vb = pandas.DataFrame(preserve), pandas.DataFrame(preserve_ve), pandas.DataFrame(preserve_vb)
    pr_r, pr_ve, pr_vb = pandas.DataFrame(penalty), pandas.DataFrame(penalty_ve), pandas.DataFrame(penalty_vb)
    l_r, l_ve, l_vb = pandas.DataFrame(lagrange), pandas.DataFrame(lagrange_ve), pandas.DataFrame(lagrange_vb)

    n_r.to_csv(path + "/None Fitness.csv")
    n_ve.to_csv(path + "/None Equality.csv")
    n_vb.to_csv(path + "/None Boundary.csv")

    r_r.to_csv(path + "/Repair Fitness.csv")
    r_ve.to_csv(path + "/Repair Equality.csv")
    r_vb.to_csv(path + "/Repair Boundary.csv")

    p_r.to_csv(path + "/Preserve Fitness.csv")
    p_ve.to_csv(path + "/Preserve Equality.csv")
    p_vb.to_csv(path + "/Preserve Boundary.csv")

    pr_r.to_csv(path + "/Penalty Fitness.csv")
    pr_ve.to_csv(path + "/Penalty Equality.csv")
    pr_vb.to_csv(path + "/Penalty Boundary.csv")

    l_r.to_csv(path + "/Lagrangian Fitness.csv")
    l_ve.to_csv(path + "/Lagrangian Equality.csv")
    l_vb.to_csv(path + "/Lagrangian Boundary.csv")

    plot_results([n_r.mean(), r_r.mean(), pr_r.mean(), l_r.mean(), p_r.mean()],
                 ["A1 (No Method)", "A2 (Particle Repair Method)", "A3 (Penalty Function Method)",
                  "A4 (Augmented Lagrangian Method)", "A5 (Preserving Feasibility Method)"],
                 "Average Global Best Fitness f()", path + "/1 Fitness")

    plot_results([r_r.mean(), pr_r.mean(), l_r.mean(), p_r.mean()],
                 ["A2 (Particle Repair Method)", "A3 (Penalty Function Method)",
                  "A4 (Augmented Lagrangian Method)", "A5 (Preserving Feasibility Method)"],
                 "Average Global Best Fitness f()", path + "/1 Fitness Ex None")

    plot_results([n_ve.mean(), r_ve.mean(), pr_ve.mean(), l_ve.mean(), p_ve.mean()],
                 ["A1 (No Method)", "A2 (Particle Repair Method)", "A3 (Penalty Function Method)",
                  "A4 (Augmented Lagrangian Method)", "A5 (Preserving Feasibility Method)"],
                 "Average Global Best Equality Constraint Violation, C_E()", path + "/2 Equality Violations")

    plot_results([r_ve.mean(), pr_ve.mean(), l_ve.mean(), p_ve.mean()],
                 ["A2 (Particle Repair Method)", "A3 (Penalty Function Method)",
                  "A4 (Augmented Lagrangian Method)", "A5 (Preserving Feasibility Method)"],
                 "Average Global Best Equality Constraint Violation, C_E()", path + "/2 Equality Violations Ex None")

    plot_results([n_vb.mean(), r_vb.mean(), pr_vb.mean(), l_vb.mean(), p_vb.mean()],
                 ["A1 (No Method)", "A2 (Particle Repair Method)", "A3 (Penalty Function Method)",
                  "A4 (Augmented Lagrangian Method)", "A5 (Preserving Feasibility Method)"],
                 "Average Global Best Boundary Constraint Violation, C_B()", path + "/3 Boundary Violations")

    plot_results([r_vb.mean(), pr_vb.mean(), l_vb.mean(), p_vb.mean()],
                 ["A2 (Particle Repair Method)", "A3 (Penalty Function Method)",
                  "A4 (Augmented Lagrangian Method)", "A5 (Preserving Feasibility Method)"],
                 "Average Global Best Boundary Constraint Violation, C_B()", path + "/3 Boundary Violations Ex None")

    plot_results([n_r.std(), r_r.std(), pr_r.std(), l_r.std(), p_r.std()],
                 ["A1 (No Method)", "A2 (Particle Repair Method)", "A3 (Penalty Function Method)",
                  "A4 (Augmented Lagrangian Method)", "A5 (Preserving Feasibility Method)"],
                 "Average Global Best Fitness Standard Deviation f()", path + "/4 Fitness Stdev")

    plot_results([r_r.std(), pr_r.std(), l_r.std(), p_r.std()],
                 ["A2 (Particle Repair Method)", "A3 (Penalty Function Method)",
                  "A4 (Augmented Lagrangian Method)", "A5 (Preserving Feasibility Method)"],
                 "Average Global Best Fitness Standard Deviation f()", path + "/4 Fitness Stdev Ex None")


def surface_plotter(n, sigma, delta, mu, time, c_e, c_b, m_e, m_b):
    asset_simulator = AssetSimulator(delta, sigma, mu, time)
    asset_returns = asset_simulator.assets_returns(n)
    corr = pandas.DataFrame(asset_returns).transpose().corr()
    three_dimensional_landscape(asset_returns, corr, 200, c_e, c_b, m_e, m_b)


def run():
    matplotlib.rc('font', family='Arial')
    coeff_e, coeff_b, lagrange_e, lagrange_b = 2.0, 2.0, 0.5, 0.5
    runner_all(4, 0.125, float(1 / 252), 0.08, 500, 80, 60, "Results (A)", coeff_e, coeff_b, lagrange_e, lagrange_b)
    runner_all(8, 0.125, float(1 / 252), 0.08, 500, 80, 60, "Results (B)", coeff_e, coeff_b, lagrange_e, lagrange_b)
    runner_all(16, 0.125, float(1 / 252), 0.08, 500, 80, 60, "Results (C)", coeff_e, coeff_b, lagrange_e, lagrange_b)


if __name__ == '__main__':
    run()
로리 요크

from __future__ import division모듈에 없는 한 1/252가 0으로 평가되는 Python 2를 사용하고 있다고 가정합니다 . 대신 1/252가있는 곳에 1. / 252를 사용할 수 있습니다. 최소 오류 예 :

import math
import numpy.random as nrand

class AssetSimulator:
    def __init__(self, delta, sigma, mu, time):
        self.delta = delta
        self.sigma = sigma
        self.time = time
        self.mu = mu

    def wiener_process(self):
        sqrt_delta_sigma = math.sqrt(self.delta) * self.sigma
        print sqrt_delta_sigma
        return nrand.normal(loc=0, scale=sqrt_delta_sigma, size=self.time)

def runner_all(n, sigma, delta, mu, time, iterations, simulations, path, ce, cb, le, lb):
    print("Experiment", path, "starting")
    asset_simulator = AssetSimulator(delta, sigma, mu, time)
    asset_simulator.wiener_process()

def run():
    coeff_e, coeff_b, lagrange_e, lagrange_b = 2.0, 2.0, 0.5, 0.5
    runner_all(4, 0.125, float(1 / 252), 0.08, 500, 80, 60, "Results (A)", coeff_e, coeff_b, lagrange_e, lagrange_b)

if __name__ == '__main__':
    run()

준다

('Experiment', 'Results (A)', 'starting')
0.0
Traceback (most recent call last):
  File "problem2.py", line 26, in <module>
    run()
  File "problem2.py", line 23, in run
    runner_all(4, 0.125, float(1 / 252), 0.08, 500, 80, 60, "Results (A)", coeff_e, coeff_b, lagrange_e, lagrange_b)
  File "problem2.py", line 19, in runner_all
    asset_simulator.wiener_process()
  File "problem2.py", line 14, in wiener_process
    return nrand.normal(loc=0, scale=sqrt_delta_sigma, size=self.time)
  File "mtrand.pyx", line 1487, in mtrand.RandomState.normal (numpy/random/mtrand/mtrand.c:9958)
ValueError: scale <= 0

동안

import math
import numpy.random as nrand

class AssetSimulator:
    def __init__(self, delta, sigma, mu, time):
        self.delta = delta
        self.sigma = sigma
        self.time = time
        self.mu = mu

    def wiener_process(self):
        sqrt_delta_sigma = math.sqrt(self.delta) * self.sigma
        print sqrt_delta_sigma
        return nrand.normal(loc=0, scale=sqrt_delta_sigma, size=self.time)

def runner_all(n, sigma, delta, mu, time, iterations, simulations, path, ce, cb, le, lb):
    print("Experiment", path, "starting")
    asset_simulator = AssetSimulator(delta, sigma, mu, time)
    asset_simulator.wiener_process()

def run():
    coeff_e, coeff_b, lagrange_e, lagrange_b = 2.0, 2.0, 0.5, 0.5
    runner_all(4, 0.125, float(1. / 252), 0.08, 500, 80, 60, "Results (A)", coeff_e, coeff_b, lagrange_e, lagrange_b)

if __name__ == '__main__':
    run()

준다

('Experiment', 'Results (A)', 'starting')
0.00787425985436

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

왜 "ValueError : No gradients provided for any variable : [ 'Variable : 0']."이 발생합니다. 오류?

분류에서Dev

Gensim Word2Vec 오류 : ValueError : 줄 # 0 앞에 섹션 헤더 누락

분류에서Dev

numpy 배열 나누기 0 오류를 처리하는 방법

분류에서Dev

Python의 Numpy 오류

분류에서Dev

hmmlearn의 Numpy 오류

분류에서Dev

오류 getPlayer (args [0]);

분류에서Dev

IF = 0, COUNTIFS, #NAME? 오류

분류에서Dev

ggplot2의 scale_x_labels 오류

분류에서Dev

Keras / Tensorflow의 "ValueError : Graph disconnected"오류

분류에서Dev

using boolean array indexing in numpy causes ValueError

분류에서Dev

ValueError : 모델 대상 확인시 오류 : 모델에 전달하는 Numpy 배열 목록이 모델이 예상 한 크기가 아닙니다.

분류에서Dev

FFMPEG : sws_scale이 오류를 반환합니다. 슬라이스 매개 변수 0, 2160이 잘못되었습니다.

분류에서Dev

Python RuntimeError : Numpy 설치 오류

분류에서Dev

Numpy 배열 선언 오류

분류에서Dev

python : numpy.where 오류

분류에서Dev

python : numpy.where 오류

분류에서Dev

numpy.loadtxt 사용 오류

분류에서Dev

Python Numpy 메모리 오류

분류에서Dev

python numpy 또는 scipy 오류

분류에서Dev

데이터를 임시 numpy 배열로로드하는 중 오류 : "IndexError : 인덱스 0이 크기가 0 인 축 0의 범위를 벗어났습니다."

분류에서Dev

Javascript : Void (0) 충돌 오류

분류에서Dev

Python 3-키 오류 0

분류에서Dev

오류 : <명령 줄> : 0 : 9

분류에서Dev

0 오류로 나눈 SSRS

분류에서Dev

Android FFmpegMediaPlayer-MediaPlayer 오류 (0, 0)

분류에서Dev

KubernetesManifest @ 0 오류-입력 필요 : 종류

분류에서Dev

numpy.where ()에서 0으로 나누지 마십시오.

분류에서Dev

Pygame.mouse.set_cursor ((8,8), (0,0), (0,0,0,0,0,0,0,0), (0,0,0,0,0,0,0 , 0)) 오류가 발생합니다.

분류에서Dev

Brecknell Scale에서 재현 가능한 여러 오류

Related 관련 기사

  1. 1

    왜 "ValueError : No gradients provided for any variable : [ 'Variable : 0']."이 발생합니다. 오류?

  2. 2

    Gensim Word2Vec 오류 : ValueError : 줄 # 0 앞에 섹션 헤더 누락

  3. 3

    numpy 배열 나누기 0 오류를 처리하는 방법

  4. 4

    Python의 Numpy 오류

  5. 5

    hmmlearn의 Numpy 오류

  6. 6

    오류 getPlayer (args [0]);

  7. 7

    IF = 0, COUNTIFS, #NAME? 오류

  8. 8

    ggplot2의 scale_x_labels 오류

  9. 9

    Keras / Tensorflow의 "ValueError : Graph disconnected"오류

  10. 10

    using boolean array indexing in numpy causes ValueError

  11. 11

    ValueError : 모델 대상 확인시 오류 : 모델에 전달하는 Numpy 배열 목록이 모델이 예상 한 크기가 아닙니다.

  12. 12

    FFMPEG : sws_scale이 오류를 반환합니다. 슬라이스 매개 변수 0, 2160이 잘못되었습니다.

  13. 13

    Python RuntimeError : Numpy 설치 오류

  14. 14

    Numpy 배열 선언 오류

  15. 15

    python : numpy.where 오류

  16. 16

    python : numpy.where 오류

  17. 17

    numpy.loadtxt 사용 오류

  18. 18

    Python Numpy 메모리 오류

  19. 19

    python numpy 또는 scipy 오류

  20. 20

    데이터를 임시 numpy 배열로로드하는 중 오류 : "IndexError : 인덱스 0이 크기가 0 인 축 0의 범위를 벗어났습니다."

  21. 21

    Javascript : Void (0) 충돌 오류

  22. 22

    Python 3-키 오류 0

  23. 23

    오류 : <명령 줄> : 0 : 9

  24. 24

    0 오류로 나눈 SSRS

  25. 25

    Android FFmpegMediaPlayer-MediaPlayer 오류 (0, 0)

  26. 26

    KubernetesManifest @ 0 오류-입력 필요 : 종류

  27. 27

    numpy.where ()에서 0으로 나누지 마십시오.

  28. 28

    Pygame.mouse.set_cursor ((8,8), (0,0), (0,0,0,0,0,0,0,0), (0,0,0,0,0,0,0 , 0)) 오류가 발생합니다.

  29. 29

    Brecknell Scale에서 재현 가능한 여러 오류

뜨겁다태그

보관