首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ValueError: int()基必须是>= 2和<= 36,或0- Kol - Smirnov测试

ValueError: int()基必须是>= 2和<= 36,或0- Kol - Smirnov测试
EN

Stack Overflow用户
提问于 2019-07-21 07:48:37
回答 1查看 273关注 0票数 0

我在做科尔莫戈罗夫-斯米尔诺夫测试。我从线性同余生成器中提取了10k个数字。

代码语言:javascript
复制
def kolmogorov_smirnov_test( data_set, confidence_level, num_samples ):
# Step 1:  Rank data from smallest to largest, such that:
# R(1) <= R(2) <= R(3) ... <= R(i)
data_set.sort()

# Step 2: Computer D+ and D-
# D+ = max(i/N - R(i))
d_plus = get_d_plus_value_for_KS_TEST(data_set, num_samples)
print("D+ VALUE =" +(str(d_plus)))

# D- = max(R(i) - (i -1)/n)
d_minus = get_d_minus_value_for_KS_TEST(data_set, num_samples)
print("D- VALUE=" +(str(d_minus)))

# Step 3:  Computer D = max(D+,D-)
d_value = max(d_plus, d_minus)
print("D VALUE (max): " +(str(d_value)))

# Step 4: Determine critical value, using table
# Step 5: Accept or reject Null hypothesis
return d_value

并且它给出了以下错误:

代码语言:javascript
复制
ValueError                                Traceback (most recent call last)
<ipython-input-31-8ab28c7d697e> in <module>
----> 1 kolmogorov_smirnov_test()

<ipython-input-28-087123eac877> in kolmogorov_smirnov_test()
      8     # Step 2: Computer D+ and D-
      9     # D+ = max(i/N - R(i))
---> 10     d_plus = max (int(data_set, num_samples))
     11 
     12     # D- = max(R(i) - (i -1)/n)

ValueError: int() base must be >= 2 and <= 36, or 0
EN

回答 1

Stack Overflow用户

发布于 2019-07-21 08:07:41

作为函数的int有两个参数:要转换为整数的值和该数字的基数(例如,int("FF", 16)将导致255)。所以int(data_set, num_samples)想要以num_samples作为基础,这将是完全无稽之谈。

但这并不是唯一的问题。int(data_set, num_samples)中的第一个参数是您的数据数组,它不能转换为整数(至少不能以这种方式转换)。

即使(出于某种奇怪的原因)整个函数可能返回一个整数,max(int(data_set, num_samples))也会获得一个整数作为参数,这也不起作用。

现在更大的问题是,代码甚至根本不能匹配给定的数学函数,所以在给出更多关于您在这里的实际目标的信息之前,我无法进一步帮助您。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57129406

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档