数据分析-插值-python实现

1,插值的概念:

插值是一种在离散数据点的基础上,通过一定的数学方法构造出一个连续函数(或近似连续函数),从而对数据点之间的值进行估计的技术。

简单来说,假如我们有一些已知的数据点,比如在某个实验中,我们测量了不同时刻物体的温度,这些时刻是离散的。插值就是找到一种方式,去推测在这些测量时刻之间的温度大概是多少。

例如,我们已知函数y = f(x)  在$x_0,x_1,\cdots,x_n$  这些点上的值分别为$y_0,y_1,\cdots,y_n$ ,插值就是要构造一个函数$P(x)$ ,使得 P(x_i)=y_i$i = 0,1,\cdots,n$,并且可以用  $P(x)$来估算在$x_i$  和$x_{i + 1}$ 之间的  $x$对应的函数值。

2,插值的方式以及对应的用途:

2.1,线性插值算:

2.1.1:算法介绍:

线性插值是一种简单的插值方法。它假设在两个已知数据点之间,函数呈线性变化。给定两个数据点$(x_0,y_0)$$(x_1,y_1)$,线性插值的目的是估计在$x_0$$x_1$之间的某个对应的值。

2.1.2:计算公式:

设要估计$x$的满足$x_0\leq x\leq x_1$,则线性插值得到的值计算公式为:

                                                    $y = y_0+\frac{(y_1 - y_0)}{(x_1 - x_0)}(x - x_0)$

这个公式的原理是先计算两点之间$y$的变化率$\frac{(y_1 - y_0)}{(x_1 - x_0)}$,然后根据$x$$x_0$的距离来计算y值相对于$y_0$的增量,最后得到估计的$y$值。

2.1.3:计算例子:

假设我们知道在温度$x_0 = 10^{\circ}C$时,某种物质的体积$y_0 = 20$立方厘米,在温度$x_1 = 20^{\circ}C$时,体积$y_1 = 25$立方厘米。现在我们要估计温度$x = 15^{\circ}C$为时该物质的体积?

根据线性插值公式:

首先计算变化率

                                               $\frac{(y_1 - y_0)}{(x_1 - x_0)}=\frac{(25 - 20)}{(20 - 10)} = 0.5$

然后计算

                   $y = y_0+\frac{(y_1 - y_0)}{(x_1 - x_0)}(x - x_0)=20 + 0.5\times(15 - 10)=20 + 2.5 = 22.5$

所以估计温度为$15^{\circ}C$时该物质的体积为22.5立方厘米。

2.1.4,代码实现:

def linear_interpolation(x0, y0, x1, y1, x):
    if x0 <= x <= x1:
        slope = (y1 - y0) / (x1 - x0)
        y = y0 + slope * (x - x0)
        return y
    else:
        raise ValueError("x should be between x0 and x1")

# 示例用法
x0, y0 = 10, 20
x1, y1 = 20, 25
x = 15
print(linear_interpolation(x0, y0, x1, y1, x))

2.2,多项式插值-拉格朗日插值多项式:

2.2.1:算法介绍:

拉格朗日插值法是一种多项式插值方法。其核心思想是通过已知的$n + 1$个数据点

1. 多源数据采集与整合功能 多渠道数据接入: API 接口采集:对接公开电影数据平台 API(如猫眼专业版 API、灯塔专业版数据接口、豆瓣电影 API),自动获取实时票房(日票房、总票房)、排片率、上座率、观众评分等数据。 公开数据爬取:通过 Python 爬虫(基于Requests+BeautifulSoup或Scrapy)从电影资讯网站(如时光网、1905 电影网)爬取电影基础信息(类型、导演、演员、上映日期、发行公司)、档期信息(春节档、国庆档等)及观众评论数据。 本地数据导入:支持用户上传本地票房数据(Excel/CSV 格式),包含自定义字段(如区域票房、影院级票房数据),实现多源数据融合。 自动定时采集:配置定时任务(基于APScheduler),按日 / 周自动同步最新票房数据,确保数据时效性(如每日凌晨更新前一日全国票房)。 2. 数据预处理与清洗功能 数据清洗与标准化: 处理缺失值:对票房数据中的缺失日期、空值评分采用插值法(如均值填充、前后值填充)或标记处理;对无效数据(如票房为负、上映日期错误)自动过滤。 异常值检测:通过 Z-score、IQR 方法识别异常票房数据(如单日票房突增 / 突降),标记后由用户确认是否保留或修正。 格式标准化:统一日期格式(YYYY-MM-DD)、票房单位(万元 / 亿元)、电影类型标签(如 “喜剧”“动作” 去重合并),将演员 / 导演姓名标准化(去除别名、统一译名)。 数据整合与特征工程: 关联多表数据:将票房数据与电影基础信息(类型、导演)、外部因素(节假日、同期竞品、排片率)关联,生成融合数据集(如 “电影 ID - 日期 - 票房 - 排片率 - 类型”)。 特征提取:自动生成衍生特征,如 “上映天数”(当前日期 - 上映日期)、“日均票房”(总票房 / 上映天数)、“档期归属”(标记电影是否属于春节档 /
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值