我如何测试一个假设的执行时间 算法在数据大小方面不是指数级的。
对于exaple,我有样本:
[n time(s)] = {[02 0.36],[03 1.15],[04 2.66],[05 5.48],[06 6.54],[07 11.22],[08 12.87],[09 16.94 ],[10 17.59]}
其中n是数据的大小。我想明确证明时间不会以数据的形式呈指数增长。
假设H0,H1应该是什么。
我应该使用anova还是f-test?我该如何申请?
感谢。
答案 0 :(得分:0)
注意:这应该是评论,而不是答案,但它太长了。
您可能需要更多地了解假设检验背后的基本原理。我建议您从一些在线资料开始:http://stattrek.com/hypothesis-test/hypothesis-testing.aspx,但您可能还需要查看一些有关统计数据的书籍。你现在的问题无法回答,因为你永远不能用统计数据来证明某些事情"。统计信息只会告诉您可能的内容。因此,您无法证明执行时间不会呈指数级增长。从您的示例数据中,真的看起来它不是指数级的。事实上,真的看起来是线性的,所以增长可能是线性的:
在R中生成此图像的代码是:
> n <- 2:10
> time <-c(0.36, 1.15, 2.66, 5.48, 6.54, 11.22, 12.87, 16.94, 17.59)
> model.linear <- lm(time ~n) # LM = Linear Model, time ~ a*n + b
> plot(time ~ n)
> lines(predict(model.linear)~n, col=2)
您是否需要统计数据来证明此线性模型非常合适?我希望你不要。