1. 整体分析

要通过联合分布对 TI(湍流强度)和 alp2(风切变)进行联合筛选,可以使用以下步骤:

  1. 联合分布可视化:绘制 TI 和 alp2 的联合分布图,如散点图、二维直方图或核密度估计图,以了解二者的关系。
  2. 定义筛选条件:根据联合分布图中的集中区域或特定阈值,定义筛选条件。
  3. 应用筛选条件:筛选出符合条件的数据点,进行进一步分析或仿真。
    散点图、二维直方图和核密度估计图的区别与联系

步骤1:联合分布可视化

首先,绘制 TI 和 alp2 的联合分布图,以了解它们的关系。

步骤2:定义筛选条件

在可视化联合分布后,可以根据数据的集中区域或业务需求设定筛选条件。

步骤3:应用筛选条件

根据定义的条件进行数据筛选。

实例演示

下面是如何绘制 TI 和 alp2 的联合分布图,并通过图中数据的集中区域定义筛选条件的示例。

第一步:联合分布可视化

让我们先绘制联合分布图。

第二步:定义筛选条件

在图中找到数据集中区域,定义筛选条件。

第三步:应用筛选条件

筛选出符合条件的数据。

让我们从可视化开始。

数据类型都是浮点型,看起来没有问题。可能是因为数据中存在一些无法识别的特殊值或 NaN 值。我们再检查一次数据,确保没有特殊值或非数字值。

让我们重新清理数据并绘制联合分布图。

看起来仍有一些数据处理问题导致联合分布图无法正常绘制。为了确保数据清洗彻底,我们可以对 TIalp2 这两个列进行详细检查,并重新进行数据清洗和绘图。

数据检查与清洗步骤

  1. 检查 TIalp2 列的详细信息,包括唯一值、非数字值等。
  2. 清除所有非数字值和异常值。
  3. 绘制联合分布图。

让我们从详细检查数据开始。

看起来 TIalp2 列的数据大部分是合理的浮点数值,虽然 alp2 列中出现了一个负值(-0.02019419),这可能是一个异常值。我们可以进一步检查和清理这些列中的非数字和异常值。

数据清洗步骤

  1. 去除负值:对 alp2 列进行处理,去除负值。
  2. 检查非数字值:确保所有数据都是数字类型。

让我们先进行数据清洗,然后再尝试绘制联合分布图。

# Check for unique values and non-numeric values in the 'TI' and 'alp2' columns
ti_unique_values = flat_terrain_data['TI'].unique()
alp2_unique_values = flat_terrain_data['alp2'].unique()

# Display a sample of unique values to check for any anomalies
ti_sample_values = ti_unique_values[:10]
alp2_sample_values = alp2_unique_values[:10]

ti_sample_values, alp2_sample_values

看起来问题可能出在我们绘图的参数上,特别是使用 fill=Truecmap='Blues' 的参数。我们可以尝试简化绘图并移除这些参数,确保数据正常绘制。

让我们尝试绘制一个简单的联合分布图,使用散点图来表示。

# Remove negative values in 'alp2' and any other potential anomalies
cleaned_data = flat_terrain_data[(flat_terrain_data['TI'] >= 0) & (flat_terrain_data['alp2'] >= 0)]

# Drop any remaining NaN values
cleaned_data = cleaned_data.dropna()

# Plot the joint distribution of TI and alp2 after cleaning
plt.figure(figsize=(12, 6))
sns.jointplot(x='TI', y='alp2', data=cleaned_data, kind='kde', fill=True, cmap='Blues')

# Add labels and title
plt.xlabel('TI (湍流强度)')
plt.ylabel('alp2 (风切变)')
plt.suptitle('Joint Distribution of TI and alp2', y=1.02)

# Display the plot
plt.show()

这个散点图展示了 TI(湍流强度)和 alp2(风切变)的联合分布。可以看到两个变量的分布情况和它们之间的关系。
利用联合概率分布筛选2个维度、三个维度数据-LMLPHP

下一步

  1. 定义筛选条件

    • 您可以根据图中的分布情况选择合适的范围。例如,可以选择高密度区域作为筛选条件。
  2. 应用筛选条件

    • 根据定义的范围筛选数据,以用于进一步分析或仿真。

2. 定义筛选条件

为了定义 TI 和 alp2 的联合筛选条件,可以考虑以下方法:

  1. 基于分位数的筛选

    • 使用 TI 和 alp2 的 25% 和 75% 分位数定义筛选范围,保证选取的数据集中在中间 50% 的区域内。
  2. 基于高密度区域的筛选

    • 从联合分布图中识别高密度区域,定义该区域内的数据作为筛选条件。

方法一:基于分位数的筛选

让我们先计算 TI 和 alp2 的 25% 和 75% 分位数。

基于分位数的筛选条件如下:

  • TI 的范围:0.0619 到 0.1087
  • alp2 的范围:0.0954 到 0.2002

经过筛选后,数据集中符合条件的数据点有 149 条。

方法二:基于高密度区域的筛选

然后,我们可以通过计算高密度区域的核密度估计(KDE)来定义筛选条件。

进一步分析

我们可以绘制筛选后的数据的联合分布图,看看这些数据点的分布情况。这样可以确保筛选条件合理并且覆盖了数据的主要集中区域。

让我们绘制筛选后的数据的联合分布图。

# Calculate the 25% and 75% quantiles for TI and alp2
q1_ti = cleaned_data['TI'].quantile(0.25)
q3_ti = cleaned_data['TI'].quantile(0.75)
q1_alp2 = cleaned_data['alp2'].quantile(0.25
07-05 16:31