足球联赛的贝叶斯模型

bpl的Python项目详细描述


bpl

Build Statuscodecov

bpl是一个python 3库,用于将dixon&coles(1997)模型的贝叶斯版本拟合到数据中。 它使用stan库使模型适合数据。

安装

你需要一个工作C++编译器。 如果您使用的是anaconda,则可以使用

conda install gcc

然后可以使用pip

安装
pip install bpl

这可能需要一段时间,因为两个stan模型是作为构建的一部分编译的。

用法

bpl提供了一个可用于预测足球比赛结果的类BPLModel。 数据应以pandas数据帧的形式提供给模型,其中包含home_teamaway_teamhome_goalsaway_goals列。 你也可以选择为每支球队提供一组数值协变量(例如他们在国际足联的评分),这些变量将用于fit。 示例用法:

importbplimportpandasaspddf_train=pd.read_csv("<path-to-training-data>")df_X=pd.read_csv("<path-to-team-level-covariates>")forecaster=bpl.BPLModel(data=df_train,X=df_X)forecaster.fit(seed=42)# calculate the probability that team 1 beats team 2 3-0 at home:forecaster.score_probability("Team 1","Team 2",3,0)# calculate the probabilities of a home win, an away win and a draw:forecaster.overall_probabilities("Team 1","Team 2")# compute home win, away win and draw probabilities for a collection of matches:df_test=pd.read_csv("<path-to-test-data>")# must have columns "home_team" and "away_team"forecaster.predict_future_matches(df_test)# add a new, previously unseen team to the model by sampling from the priorX_3=np.array([0.1,-0.5,3.0])# the covariates for the new teamforecaster.add_new_team("Team 3",X=X_3,seed=43)

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java在AlertDialog builder标题右侧放置图标   安装weblogic server12时发生java获取错误。1在windows 10上   java无法导入:安卓。支持v7。小装置。Android Studio中的RecyclerView   java Android应用程序等待通知奇怪行为   java如何比较ArrayList中的整数元素?   java Quartz属性不会触发Quartz作业   java轻松地将许多JavaFX属性绑定到UINode   Maven插件管理器导致java错误消息的原因是什么?   JAXB解组错误后java文件被阻止   java如何在spark kafka流中创建消费者组并将消费者分配给消费者组   java Gps lat&long随机显示非常不准确的结果   java使用assest文件夹文件在Android上执行shell命令   java如何在客户端使用javascript提取文本   java扩展描述的distincts之和   java重写默认Spring数据REST配置   java SQL未命名参数语法   二进制搜索任务的java真实解决方案   java在一个多模块多数据源项目中,用什么正确的方式来指示将哪个数据源注入我的DAOs?