开发 NFL 应用程序:4soft 团队挑战

在4soft,我们并不总是专注于业务。当我们的团队成员没有积极地为客户工作时,我们喜欢寻找有趣且雄心勃勃的方式来挑战自己并获得新知识。

因此,在 5 月底,我们中的一些人决定开展一个数据科学项目。在Kaggle上,我们找到了来自NFL 大数据竞赛 2022的数据集——这是一项使用数据科学工具来深入了解美式足球的竞赛。在进一步研究之前,我们需要了解可用的数据。

开始使用数据
美式足球在波兰是一项异国情调的运动。因此,我们首先投入了大量时间来了解这项运动。掌握了一些基础知识后,我们就可以更深入地研究手头的数据了。

数据集涵盖了 2018 年至 2020 年的三个NFL常规赛季。我们获得了跟踪数据,其中每行记录了球员或球的位置、速度和加速度。这些信息在整个比赛期间每 100 毫秒记录一次。

我们还有球员数据,其中包含三个赛季中所有球员的简短特征。接下来是比赛数据——每场比赛的球队记录和比赛时间。最后,我们还将比赛数据分成两个数据集。两者都总结了记录比赛的不同方面。

项目概要
在某个时候,我们明确了我们想通过这个项目实现什么目标。
我们的应用程序需要执行以下任务:

模拟NFL比赛的现场直播;
使用跟踪数据为当前的比赛制作动画;
‍预测每场比赛的获胜者;
显示球员和球队的统计数据。

技术
我们在开发应用程序时使用了许多技术。下面列出了其中最重要的技术并附上简短说明。

编程语言
我们的应用程序中几乎所有的代码都是用Python编写的,Python 是数据科学和机器学习领域的首选编程语言。我们使用的大多数其他库或框架都是用 Python 编写的,或者有 Python 的 API。主要的例外是 JavaScript,我们用它来构建应用程序的服务器端。

图书馆
pandas是一个流行且成熟的 Python 数据分析库,是许多有用软件包的依赖项。最初,我们计划使用它来处理数据,但与此同时,我们了解了Polars——一个用 Rust 编写的新数据处理库和一个Python API 。

事实证明 Polars 胜过 Pandas,至少在某些数据操作速度方面是如此。无论速度有多快,它都是一项新技术,并且与许多重要的库不兼容。我们尽可能使用它,当 Polars 对象不受支持时,我们会恢复使用 Pandas。

Apache Spark
我们采用的另一项数据处理技术是Apache Spark。我们使用Spark Structured Streaming 库,它提供快速、可扩展且容错的流处理。对数据执行的操作的定义方式与 Spark SQL相同。定义输入和输出并启动查询后,Spark会自动检测并处理所有新数据。

分布式虚拟控制器
为了跟踪数据集的最新更新,我们使用DVC(数据版本控制)。名称不言自明:DVC 是一个用于数据科学和机器学习项目的开源版本控制系统。它通过缓存快照并将其元数据(包括指向它们的链接)存储在Git存储库中来对包含数据或模型的大文件进行版本控制。恢复到先前版本的数据可能就像恢复到具有所需数据版本的提交一样简单。

图形用户界面
我们用Streamlit构建了图形用户界面。它是用 Python 构建快速 Web 应用程序的框架。Streamlit 非常适合数据可视化,是每个数据科学家基本工具箱中的另一项技术。

可视化
为了将球场形象化,我们使用了图像处理库Pillow 。图表是使用Plotly创建的。

训练模型
我们使用 scikit-learn、XGBoost和Keras来实现和训练模型。Scikit-learn 可能是最著名的机器学习Python 库,其中包含许多工具和模型。XGBoost 在Gradient Boosting中实现机器学习算法。Keras 是TensorFlow的高级接口,TensorFlow 是一个深度学习平台。我们使用MLflow来跟踪模型参数及其分数。

应用程序结构
我们在三个存储库中开发了该应用程序,每个存储库对应一个单独的组件:

主要——这是我们处理收到的数据集并计算预测游戏结果的模型的地方;
‍服务器——跟踪数据从此存储库流式传输;
客户端——接收流数据,进行处理并将其显示给最终用户。
下图显示了组件之间的关系。组件内较小的窗口代表主要功能,每个功能都附有其使用的最重要的技术。

主要的
主要组件具有两个主要功能。

准备数据
提供的数据表总体上质量较高。但是,某些功能要求数据采用特定格式。例如,包含跟踪数据的文件必须按时间顺序排序,以便逐行读取时可以模拟现场比赛的流媒体。

另一个例子是,我们发现我们数据的最终成绩缺失了。因此,我们需要在另一个数据集中找到它们,然后将其与我们的数据连接起来。这些对数据的准备操作是使用 Polars 在主存储库中执行的。整个数据处理使用DVC组织成一个管道。DVC 也是主存储库和其他存储库之间数据传输的一种方式。

训练模型
该模型试图根据比赛队伍、最近两场、四场和十六场比赛的平均得分差异、Elo 排名差异以及四分卫的 Elo 排名差异来预测获胜者。

我们测试了支持向量机、随机森林、K最近邻、逻辑回归、梯度提升决策树、多层感知器和全连接神经网络等模型。

我们使用交叉验证来找到最佳模型及其超参数。神经网络、支持向量机和线性回归取得了最佳结果。我们决定选择一个神经网络。我们的模型有 3 个隐藏层,每个层有 256 个神经元、dropout 和激活函数。输出是一个具有 S 型激活函数的神经元,表示主队获胜的概率。该模型实现了准确率 = 0.655 和 Brier 分数 = 0.217。

服务器
该服务器用于模拟NFL比赛期间收集的真实数据流。它用JavaScript编写并在Node.js中运行。它使用Socket.io 库进行通信。

服务器发送跟踪数据以及有关动作和比赛结束的信息。动作摘要和比赛结果存储在内存中,跟踪数据从文件中逐行读取。从每一行中提取时间戳、playid 和 gameid。服务器使用时间戳来计算在发送下一行跟踪数据之前必须经过的时间量。

当服务器检测到跟踪数据不连续时,就会发送动作摘要;当比赛中第一次记录动作后至少经过 4.5 小时(根据跟踪数据的时间)时,就会发送比赛结果。

客户端
客户端组件可以粗略地分为涉及处理流数据和从模型和图形用户界面进行预测的后台进程。

作出预测
安装在主存储库中的预测模型通过DVC移动到客户端。在那里,它被用来预测即将到来的比赛的结果。此外,流媒体比赛的结果被添加到历史数据中,并且模型在每周比赛后都会更新。

存储和处理数据
从服务器收到的数据被预处理成字典。跟踪数据被分成匹配项以显示可视化并存储在相应的对象中。此外,所有匹配项的数据都被添加到列表中。这些数据稍后被保存到文件中,然后清空列表。

跟踪数据和动作摘要保存到磁盘。Spark 会自动处理这些数据。Elo 排名也会根据流式传输的数据进行更新。在特定一周的所有比赛结束后,模型将根据包含这些比赛结果的数据进行训练。

图形用户界面
它是用 Streamlit 编写的,由对应四个功能的页面组成。

显示动画
球员和足球的流式坐标被绘制在足球场的图片上并显示出来。由于跟踪信息的频率相当高(每秒 10 帧),因此动画效果相当流畅。除了显示“现场”比赛外,该页面还显示参与特定比赛的所有球员的姓名以及对整场比赛的预测。

显示预测
模型的所有预测都已保存。另一个页面显示这些预测以及已完成比赛的结果,从而可以评估预测的准确性。

所有已开始游戏的信息都收集在表格上。每行都用颜色标出——游戏未结束时为黄色,预测准确时为绿色,预测错误时为橙色。

显示分数
所有直播比赛的结果都已保存。该应用程序使人们能够查看所选球队在本赛季的得分和结果,并将其与其他球队进行比较。为此,显示了图表和数字信息。

显示统计数据
每场比赛都会计算一组简单的统计数据,并在每次比赛结束后更新。这些统计数据包括每位球员跑动的总距离、双方球队获得的码数、成功踢球的次数等。

包起来
两个月后,我们完成了项目,是时候反思我们取得的成就了。

我们开发了一个功能齐全的应用程序,更重要的是,开发它是提升我们团队专业知识的绝佳机会。而且这也是一种有趣的方式!数据科学最有价值的方面之一是了解您分析或预测的所有事物。在观看了几周的美式足球和NFL 比赛后,我们迫不及待地想看下一届超级碗!我们还在堆栈中添加了新位置 - 例如Polars或DVC。

就团队凝聚力而言,开发应用程序的过程也非常棒。这是一些团队成员首次有机会一起工作。初级开发人员了解了我们在4soft的运作方式,并获得了急需的实践经验。

至于应用程序,它构成了构建其他功能的坚实基础。例如,可以计算和显示各个球队和球员按赛季的统计数据。另一个例子是,机器学习方法不仅可用于预测比赛的获胜者,还可用于预测特定比赛的结果(例如,进攻球队获得多少码)。我们将很乐意在未来探索这些和其他可能性。

现在,是时候开始新的挑战了!

周一,美国商品期货交易委员会 (CFTC) 对去中心化金融(DeFi)公司采取了今年的首次执法,加密预测市场平台 Polymarket 因提供基于场外事件的二元期权合约,未能获得商品交易法(CEA)中指定合约市场 (DCM) 和掉期执行工具 (SEF) 的注册,而被提起诉讼。要求 Polymarket 支付 140 万美元的罚款,并关闭所有不符合法规的市场 。 很明显,CFTC 将 Polymarket 平台上的事件产品归类于掉期交易(交易双方约定在未来某一时期相互交换某种资产的交易形式)。 据调查,Polymarket 自成立以来已提供 900 多个独立的事件市场,部署和托管在区块链上的智能合约来运营。自 2020 年 6 月推出以来,Polymarket 的交易量约为 50 亿次,同时以 10 亿美元以上的估值跻身于加密独角兽公司之列。 Polymarket 积极配合监管,CFTC 的新闻稿中指出,该公司“以减少民事罚款的形式与执法部门对此事的调查进行了实质性合作”。Polymarket 在 Twitter 上表示:“我们很高兴已成功与 CFTC 达成和解,并且很高兴向前迈进并专注于 Polymarket 的未来,不符合法案的活动市场将被提前解决。我们从这次经历中学到的东西感到鼓舞,并建立了一个卓越的合规团队和强大的内部实践和程序,这将确保合规仍然是 Polymarket 全球业务向前发展的一个不可或缺的支柱。” 加密市场并非先到先得 通俗来说,预测市场是根据未来可验证的清晰事实而创建的衍生品市场。与预设赔率的平台不同,预测市场基于参与方收集的事实类信息,价格是由预测市场中所有参与者的活动决定的。参与者对未来事件的结果进行判断并为此投注,根据公开可证的规则,如果预测正确,则可以获得盈利。 本质上,预测市场上“股票”的价格反映了参与者认为的结果。这些事件大到总统选举的结果,小到明天的天气等。 自信息革命以来,人类一直致力于将预测市场在线化,以方便所有用户通过互联网快速便捷地参与预测市场。传统预测市场严重依赖中介从中发挥作用,预测结果的正确和公正性需要中介从中撮合,也导致费率被中介收取。这种维护成本、碎片化的市场以及暗箱操作等因素将导致用户无法得到相应的回报。 随着加密资产不断走向主流,作为底层的区块链技术提供了解决方案,并促进了去中心化世界的发展。区块链技术的加持,让预测市场获得了公开、可信的特性。比如,下一届美国大选谁能当选,足球比赛中哪支球队可以胜出?这些问题发生在未来的某个时刻,且最终结果清晰可验证,不会模棱两可。 加密预测市场是一种去中心化的 DeFi 协议,任何人都可以在满足特定条件时在智能合约上交易事件的结果,而无需中介。随着 DeFi 的用户体验感变得更好,去中心化预测市场的优势在于可以接触到全球更多的热点事件,为用户提供更具竞争力的利率和更好的流动性。 Polymarket 是一个建立在以太坊二层解决方案 Polygon 上的去中心化预测市场项目,用户可以在这里对世界上的热门话题进行投注,比如美国大选、疫情情况、加密资产价格等,并使用美元支持的稳定币 USDC 来交易事件的结果。值得注意的是,以太坊联合创始人 V 神曾对 Polymarket 称赞不已: “现在就试试 Polymarket 吧。它特别之处在于,创建于 Polygon 的以太坊侧链之上,提供了优化好的 UI,让圈外用户也能吸引进来。还提供了使用信用卡购买 USDC 的选项。 ” CFTC要求DeFi预测市场Polymarket支付140万美元罚款,项目方称已达成和解 以目前一个尚未结束的预测事件为例—“12 月欧盟的年通胀率会达到 5.4% 或更高吗?”该事件为用户提供了两个投资选择:YES 或者 NO,两者的价格可以视为市场对该事件可能实现的概率,两者之和固定为1美元。用户如果认为市场价格偏离实际概率,则可以选择购买相应选项并从中获益。 CFTC要求DeFi预测市场Polymarket支付140万美元罚款,项目方称已达成和解 相比于其它预测市场项目,Polymarket 具有两个主要特点: 第一,该项目建立在 Polygon 上,用户的交易行为无需经过以太坊主网确认,避免了手续费过高、耗时长等缺陷。 第二,用户可以在该项目中直接使用借记卡或信用卡购买 USDC 进行交易,而无需拥有加密资产并进行相应的私钥储存等行为,可以较大程度降低用户的进入门槛。 同时,Polymarket 采取了自动化做市商(AMM)机制,所有用户交易都会扣除 2% 的手续费给流动性提供者。 不过,Polymarket 的开发团队并未公开任何关于项目运作的技术细节。同时,目前也没有用户自主创建预测事件的入口,所有预测事件似乎都由项目方创建并根据公开信息自主决断结果,仅提到存在争议的市场将由市场诚信委员会(MIC)处理。 简而言之,预测市场是投资者可以押注现实世界事件发生的平台,也是在区块链上实施的分布式应用的第一个概念,尽管起步较早,但与其他类别的 DeFi 协议相比,它在过去几年中未能产生令人惊讶的交易量。 加密预测市场能否规避监管? 在 2021 年中,CFTC 希望成为主要的加密监管机构。CFTC 代理主席 Rostin Behnam 曾在听证会上表示,CFTC 已准备好成为加密资产的“警察” ,考虑到加密市场的总规模曾到达过 2.7 万亿美元,在这 2.7 万亿美元中,有近 60% 是商品,所以扩大 CFTC 的权力尤为重要。 CFTC 过去几年一直在加密市场采取执法行动。2021 年 10 月,它对最大的稳定币 USDT 的发行商 Tether 公司处以 4100 万美元的罚款,原因是其关于其资金储备的误导性声明。目前,CFTC 对加密衍生品市场进行监管,可以对底层加密现货市场的欺诈行为采取行动。 根据本次对 Polymarket 处罚的新闻稿,执法部门代理主任文森特麦格表示:“无论使用何种技术,所有衍生品市场都必须在法律范围内运作,特别是包括‘DeFi’领域的技术,开发者应积极与 CFTC 接触,以确保市场保持稳健、透明,并为客户提供 CEA 和我们的法规规定的保护。” 2021 年 6 月,CFTC 专员 Dan Berkovitz 表示,未经许可的 DeFi 市场在美国可能是非法的。DeFi 市场中的衍生品工具,例如期货合约,根据商品交易法可能不合法,联邦法律“不包含任何针对去中心化金融市场的例外”。同时,在他看来,衍生品的 DeFi 市场将属于 CFTC 的职权范围。 此外,过度的监管、法律限制以及平台需要承担的监管成本也极大限制了传统预测市场的发展,而基于区块链的加密预测市场通常被认为是避免法规的一种方式。 CFTC 在 2014 年为预测市场平台 PredictIt 提供了特殊豁免,部分原因是它是新西兰惠灵顿维多利亚大学的非营利性研究项目,并且将投资限制设置在 850 美元。然而,虽然 PredictIt 在美国联邦层面被允许,但许多州的法律仍然限制此类平台,在阿拉巴马州、科罗拉多州、夏威夷州、伊利诺伊州、路易斯安那州等州,它最有可能被视为是非法的。相比之下,规模更大的预测市场平台 InTrade 被 CFTC 作为非法市场起诉,并被迫关闭。 CFTC要求DeFi预测市场Polymarket支付140万美元罚款,项目方称已达成和解 图片:合规预测市场平台 PredictIt 在2020年的政界事件 基于区块链的预测市场可以通过分布式来避免监管,而不是通过中心化平台进行预测。在基于区块链的预测市场中,用户可以随意安排自己的交易,而区块链平台则为良好的行为提供治理和财务激励。 目前还不确定其他的加密预测市场,如 Augur 和 Omen,是否会遇到与 Polymarket 相同的命运。 值得注意的是,目前的加密预测市场平台并未完全做到去中心化。区块链研究机构 The Block 在 2021 年度报告中认为,预测的过程应利用经济上合理且抗腐败的去中心化事件预言机,是否可以即时“开奖”值得怀疑,但可以肯定的是,目前的预测市场平台并未优先考虑完全去中心化。 在 PredictIt 等一些主流的传统预测市场仍在运转的情况下,加密预测市场平台能够成为区块链杀手级应用还是仅在 DeFi 生态系统中缓步前行,仍需观察。

© 版权声明
默认:分享是一种美德,转载请保留原链接
tokenpocket tokenpocket 冷钱包 tokenpocket 删除钱包 tokenpocket 钱包 Tokenpocket下 tokenpocket下载 tokenpocket中文版 tokenpocket删除钱包 tokenpocket安 tokenpocket安卓下载 tokenpocket安卓版 tokenpocket官方下载 tokenpocket官网下载 tokenpocket官网地址 tokenpocket官网版 tokenpocket官网首页 tokenpocket硬 tokenpocket钱包 tokenpocket钱包app tokenpocket钱包app下载 tokenpocket钱包app下载流程 tokenpocket钱包下载 tokenpocket钱包下载地址 tokenpocket钱包丢失 tokenpocket钱包入门 tokenpocket钱包安全 tokenpocket钱包安卓下载 tokenpocket钱包官网 tokenpocket钱包收款 tokenpocket钱包监控 tokenpocket钱包真伪 tokenpocket钱包转钱包 tokenpocket钱包骗局 tp 钱包下载网址 tp数字钱包官网下载 tp老钱包下载 tp苹果钱包下载 tp钱包133官网下载 tp钱包app官网下载 TP钱包app官网下载安装 tp钱包下载 tp钱包下载1.2 tp钱包下载1.2.6 tp钱包下载1.2.8 tp钱包下载ap tp钱包下载app安卓版 tp钱包下载app最新版本 tp钱包下载不了 tp钱包下载地址 tp钱包下载大全 tp钱包下载安装 Tp钱包下载官方app TP钱包下载教程 tp钱包下载最新 tp钱包下载首页 tp钱包安卓官网下载 tp钱包官网下载 tp钱包官网下载1.25 tp钱包官网下载1.3 tp钱包官网下载1.35 tp钱包官网下载app tp钱包官网下载app安卓版 tp钱包官网下载app最新版本 tp钱包官网下载app正版 tp钱包官网下载v1.3 tp钱包官网下载安卓安装 tp钱包官网下载安装 tp钱包官网下载安装流程 tp钱包官网下载旧版 tp钱包官网下载最新版本 tp钱包老版官网下载 下载tokenpocket钱包app 假tp钱包下载 最新版TP钱包下载 钱包 tokenpocket 钱包tokenpocket