【发布时间】:2014-01-21 22:10:36
【问题描述】:
我有一些数据试图拟合三个多项式。我已经为 Home、Draw 和 Away 三列中的每一列分别安装了多边形。问题是有一个约束
Home+Draw+Away=1
以下代码计算每一列的多项式系数。
home_coeffs = polyfit(match_rating, y_home,1)
draw_coeffs = polyfit(match_rating, y_draw,2)
away_coeffs = polyfit(match_rating, y_away,2)
如何强制执行约束或将问题重新表述为多变量多项式拟合?
Home Draw Away
MatchRating
-26 0.000000 0.000000 1.000000
-24 0.000000 0.000000 1.000000
-22 0.500000 0.000000 0.500000
-21 0.111111 0.333333 0.555556
-20 0.250000 0.000000 0.750000
-19 0.500000 0.333333 0.166667
-18 0.100000 0.000000 0.900000
-17 0.111111 0.222222 0.666667
-16 0.187500 0.375000 0.437500
-15 0.240000 0.120000 0.640000
-14 0.272727 0.272727 0.454545
-13 0.214286 0.250000 0.535714
-12 0.219512 0.463415 0.317073
-11 0.333333 0.214286 0.452381
-10 0.208955 0.238806 0.552239
-9 0.357143 0.285714 0.357143
-8 0.430556 0.291667 0.277778
-7 0.283784 0.405405 0.310811
-6 0.288462 0.298077 0.413462
-5 0.402299 0.218391 0.379310
-4 0.379630 0.259259 0.361111
-3 0.420561 0.317757 0.261682
-2 0.426752 0.292994 0.280255
-1 0.452174 0.260870 0.286957
0 0.419118 0.330882 0.250000
1 0.553957 0.251799 0.194245
2 0.514925 0.268657 0.216418
3 0.483333 0.308333 0.208333
4 0.465347 0.326733 0.207921
5 0.575758 0.202020 0.222222
6 0.587500 0.212500 0.200000
7 0.584615 0.230769 0.184615
8 0.594203 0.275362 0.130435
9 0.609375 0.312500 0.078125
10 0.714286 0.122449 0.163265
11 0.780000 0.160000 0.060000
12 0.769231 0.128205 0.102564
13 0.764706 0.117647 0.117647
14 0.653846 0.230769 0.115385
15 0.826087 0.130435 0.043478
16 0.500000 0.375000 0.125000
17 1.000000 0.000000 0.000000
18 1.000000 0.000000 0.000000
19 0.714286 0.142857 0.142857
20 1.000000 0.000000 0.000000
21 0.666667 0.333333 0.000000
22 1.000000 0.000000 0.000000
26 1.000000 0.000000 0.000000
我在这里制作的地块:
【问题讨论】:
标签: python numpy pandas interpolation