【数学建模】相关系数

news2024/11/25 22:44:12

第一部分:相关系数简介

  • 总体与样本
    • 总体:指研究对象的全体,比如全国人口普查数据。
    • 样本:从总体中抽取的一部分个体,如通过问卷调查收集的学生数据。
  • 皮尔逊相关系数
    • 总体皮尔逊相关系数:衡量两个变量之间的线性相关性。它是将两个变量标准化后的协方差,消除了量纲的影响。
    • 样本皮尔逊相关系数:与总体相关系数类似,但在计算时分母为(n-1)而不是(n),这是为了更好地估计总体相关系数。
  • 相关性可视化:通过绘制散点图来直观展示两个变量之间的相关性。

第二部分:皮尔逊相关系数的理解误区

  • 理解误区
    • 非线性相关:即使两个变量之间存在强烈的非线性关系,皮尔逊相关系数也可能很小。
    • 离群点的影响:单个离群点可能会导致相关系数的显著变化。
    • 相关性不代表因果关系:即使两个变量高度相关,也不一定存在因果联系。
    • 零相关性:相关系数为0并不意味着变量之间没有任何关系,可能存在着非线性关系。

第三部分:皮尔逊相关系数的假设检验

  • 假设检验:用于判断两个变量之间的相关性是否显著,即是否真的存在线性相关而非偶然出现。
    • 拒绝域:在假设检验中,如果计算出的统计量落入拒绝域,则拒绝原假设。
    • 接受域:如果统计量落在接受域内,则接受原假设。
  • p值判断法:一种更加直观的检验方法,通过比较计算出的p值与预设的显著性水平(如0.05),来判断是否拒绝原假设。

第四部分:计算各列之间的相关系数及p值

  • 相关系数表:显示了不同变量之间的相关性强度。
  • 显著性标记:用来表示相关系数的显著性水平,如***表示p值小于0.01,**表示p值小于0.05等。

第五部分:皮尔逊相关系数假设检验的条件

  • 条件
    • 正态分布:数据应当成对来自于正态分布的总体。
    • 数据差距:数据之间的差距不能太大,以减少异常值的影响。
    • 独立抽样:样本之间应该是独立的。

第六部分:正态分布检验

  • JB检验(大样本):适用于样本量较大的情况,通过比较样本的偏度和峰度与正态分布的偏度和峰度来进行检验。
  • Shapiro-Wilk检验(小样本):适用于较小的样本量(通常为3到50),用于检验数据是否符合正态分布。
  • Q-Q图:通过比较数据点与理论正态分布的分位数,来直观判断数据是否接近正态分布。

第七部分:操作步骤总结

  • Excel中的美化步骤
    • 调整单元格格式为正方形。
    • 设置文本居中对齐。
    • 使用条件格式中的色阶功能来突出相关系数的高低。
    • 编辑条件格式规则以实现更精细的控制。

小结

通过上述内容,我们可以了解到皮尔逊相关系数的计算和应用,以及如何在实际数据分析中使用它来评估变量之间的线性相关性,并进行相应的假设检验。此外,我们还了解到了如何利用统计软件和Excel来处理数据,以及如何通过图形化的方式直观地展示数据和结果。

function [ R , P ]= fun_spearman(X, kind)  
% % 输入值:
    % X: m*n维数据矩阵,每一行表示一个样本,每一列表示一个指标;且 m >=30 以及 n >= 2 
    % kind=1: 单侧检验;kind=2: 双侧检验 (不输入默认为2)
% % 返回值:
    % R: 斯皮尔曼相关系数矩阵(n*n维)
    % P: 对应的p值矩阵(n*n维)
    
    if nargin == 1  % 判断用户输入的参数,如果只输入了一个参数,则默认kind = 2
        kind = 2;
    end

    [m,n] = size(X); % 计算样本个数和指标个数

    if m < 30  % 判断是否样本数太少
        disp('样本个数少于30,请直接查临界值表进行假设检验')

    elseif n <2  % 判断是否指标数太少
        disp('指标个数太少,无法计算')

    elseif kind ~= 1 && kind ~= 2 % 判断kind是否为1或者2
        disp('kind只能取1或者2')

    else  % 如果上述输入均没问题的话就执行下面的操作
        R = ones(n); % 初始化R矩阵
        P = ones(n); % 初始化P矩阵
        for i = 1: n
            for j = (i+1): n   % 这样设置循环只计算主对角线上半部分的值
                r = calculate_r(X(:, i), X(:, j));  % 用子函数 calculate_r 计算i和j两列的相关系数r
                p = calculate_p(r, m, kind); % 用子函数 calculate_p 计算p值
                R(i, j) = r;  R(j, i) = r;  % 把计算出来的相关系数r填充到我们的R矩阵中,注意R矩阵对称
                P(i, j) = p; P(j, i) = p;  % 把计算出来的p值填充到我们的P矩阵中,注意P矩阵对称
            end
        end
    end
    
end

% % 注意:代码文件仅供参考,一定不要直接用于自己的数模论文中
% % 国赛对于论文的查重要求非常严格,代码雷同也算作抄袭
% % 视频中提到的附件可在售后群(购买后收到的那个无忧自动发货的短信中有加入方式)的群文件中下载。包括讲义、代码、我视频中推荐的资料等。
% % 关注我的微信公众号《数学建模学习交流》,后台发送“软件”两个字,可获得常见的建模软件下载方法;发送“数据”两个字,可获得建模数据的获取方法;发送“画图”两个字,可获得数学建模中常见的画图方法。另外,也可以看看公众号的历史文章,里面发布的都是对大家有帮助的技巧。
% % 购买更多优质精选的数学建模资料,可关注我的微信公众号《数学建模学习交流》,在后台发送“买”这个字即可进入店铺(我的微店地址:https://weidian.com/?userid=1372657210)进行购买。
% % 视频价格不贵,但价值很高。单人购买观看只需要58元,三人购买人均仅需46元,视频本身也是下载到本地观看的,所以请大家不要侵犯知识产权,对视频或者资料进行二次销售。
% % 如何修改代码避免查重的方法:https://www.bilibili.com/video/av59423231(必看)
function [p]= calculate_p(r, m, kind)
% % 输入值:
    % r:斯皮尔曼相关系数
    % m: 样本个数
    % kind: 1表示单侧检验 2表示双侧检验
% % 返回值:
    % p:计算出来的p值

    z = abs(r) * sqrt(m-1); % 计算检验值  注意这里的相关系数我们先转换为正数再进行计算
    p = (1 - normcdf(z)) * kind; % 计算p值,双侧检验的p值是单侧检验的2倍

end



% % 注意:代码文件仅供参考,一定不要直接用于自己的数模论文中
% % 国赛对于论文的查重要求非常严格,代码雷同也算作抄袭
% % 视频中提到的附件可在售后群(购买后收到的那个无忧自动发货的短信中有加入方式)的群文件中下载。包括讲义、代码、我视频中推荐的资料等。
% % 关注我的微信公众号《数学建模学习交流》,后台发送“软件”两个字,可获得常见的建模软件下载方法;发送“数据”两个字,可获得建模数据的获取方法;发送“画图”两个字,可获得数学建模中常见的画图方法。另外,也可以看看公众号的历史文章,里面发布的都是对大家有帮助的技巧。
% % 购买更多优质精选的数学建模资料,可关注我的微信公众号《数学建模学习交流》,在后台发送“买”这个字即可进入店铺(我的微店地址:https://weidian.com/?userid=1372657210)进行购买。
% % 视频价格不贵,但价值很高。单人购买观看只需要58元,三人购买人均仅需46元,视频本身也是下载到本地观看的,所以请大家不要侵犯知识产权,对视频或者资料进行二次销售。
% % 如何修改代码避免查重的方法:https://www.bilibili.com/video/av59423231(必看)
function [r]= calculate_r(X, Y)
% % 输入值:
    % X: 列向量
    % Y: 列向量,且与X同维度
% % 返回值:
    % r: X和Y的斯皮尔曼相关系数(第一种定义方法)
    
    RX = rank_data(X);  % 调用自定义函数 rank_data 来计算X的等级
    RY = rank_data(Y);  % 调用自定义函数 rank_data 来计算Y的等级
    d = RX - RY; % 计算X和Y等级差
    n = size(X,1); % 计算样本个数n
    r = 1 - (6 * sum(d .* d)) / (n * (n^2-1));  % 利用公式计算斯皮尔曼相关系数

end


% % 注意:代码文件仅供参考,一定不要直接用于自己的数模论文中
% % 国赛对于论文的查重要求非常严格,代码雷同也算作抄袭
% % 视频中提到的附件可在售后群(购买后收到的那个无忧自动发货的短信中有加入方式)的群文件中下载。包括讲义、代码、我视频中推荐的资料等。
% % 关注我的微信公众号《数学建模学习交流》,后台发送“软件”两个字,可获得常见的建模软件下载方法;发送“数据”两个字,可获得建模数据的获取方法;发送“画图”两个字,可获得数学建模中常见的画图方法。另外,也可以看看公众号的历史文章,里面发布的都是对大家有帮助的技巧。
% % 购买更多优质精选的数学建模资料,可关注我的微信公众号《数学建模学习交流》,在后台发送“买”这个字即可进入店铺(我的微店地址:https://weidian.com/?userid=1372657210)进行购买。
% % 视频价格不贵,但价值很高。单人购买观看只需要58元,三人购买人均仅需46元,视频本身也是下载到本地观看的,所以请大家不要侵犯知识产权,对视频或者资料进行二次销售。
% % 如何修改代码避免查重的方法:https://www.bilibili.com/video/av59423231(必看)

这段代码提供了计算斯皮尔曼相关系数及其对应的p值的功能。下面是代码的详细解释和拓展:

主函数 fun_spearman

该函数接收一个数据矩阵 X 和一个可选参数 kind,返回斯皮尔曼相关系数矩阵 R 和对应的p值矩阵 P

参数说明
  • X: m×n 维数据矩阵,每一行表示一个样本,每一列表示一个指标。
  • kind: 检验类型,1表示单侧检验,2表示双侧检验,默认为2。
返回值
  • R: 斯皮尔曼相关系数矩阵(n×n维)。
  • P: 对应的p值矩阵(n×n维)。
函数逻辑
  1. 参数检查:
    • 如果只输入了一个参数,则默认 kind = 2
    • 检查样本个数是否至少为30。
    • 检查指标个数是否至少为2。
    • 检查 kind 是否为1或2。
  1. 初始化输出矩阵:
    • 创建 RP 矩阵,并将其所有元素初始化为1。
  1. 计算相关系数和p值:
    • 遍历所有可能的指标对,计算斯皮尔曼相关系数和p值。
    • 使用 calculate_rcalculate_p 子函数来计算相关系数和p值。
    • 将计算结果填入 RP 矩阵中。

子函数 calculate_r

该函数用于计算斯皮尔曼相关系数。

参数说明
  • X: 列向量。
  • Y: 列向量,与 X 同维度。
返回值
  • r: 斯皮尔曼相关系数。
函数逻辑
  1. 计算等级:
    • 使用 rank_data 函数计算 XY 的等级。
  1. 计算等级差:
    • 计算等级之间的差异 d
  1. 计算相关系数:
    • 使用斯皮尔曼相关系数的定义公式计算相关系数 r

子函数 calculate_p

该函数用于计算p值。

参数说明
  • r: 斯皮尔曼相关系数。
  • m: 样本个数。
  • kind: 检验类型,1表示单侧检验,2表示双侧检验。
返回值
  • p: p值。
函数逻辑
  1. 计算检验值:
    • 计算检验值 z,其中相关系数 r 被转换为正值。
  1. 计算p值:
    • 使用标准正态分布累积分布函数 normcdf 计算单侧p值。
    • 对于双侧检验,将单侧p值乘以2得到最终的p值。

子函数 rank_data

该函数用于计算向量的等级。

参数说明
  • data: 输入向量。
返回值
  • rankedData: 输出等级向量。
函数逻辑
  1. 排序:
    • 对输入向量进行排序。
  1. 计算等级:
    • 计算每个元素的等级。

使用示例

假设我们有一个数据矩阵 X,包含多组观测值。

X = [3 5 6 1; 7 8 2 4; 2 4 8 9; 1 3 9 2];  % 示例数据
[R, P] = fun_spearman(X);
disp(R);  % 显示斯皮尔曼相关系数矩阵
disp(P);  % 显示p值矩阵

注意事项

  • 该代码仅供学习参考,不应用于正式的研究或竞赛提交,以免造成代码雷同。
  • 在实际使用时,需要自行修改代码以避免与他人雷同。
  • 代码中的 rank_data 函数未给出实现细节,这里可以使用MATLAB内置的 rank 函数或其他方法来实现。

扩展说明

  • 如果需要对等级进行平局处理(例如,多个相同数值的等级分配),可以在 rank_data 函数中加入相应的逻辑。
  • 可以添加更多的错误处理逻辑,比如当输入矩阵不是二维时抛出错误。
  • 可以增加更多的输出信息,如在计算过程中打印进度条等,方便用户了解程序运行状态。

在数学建模中,相关系数是一种重要的统计工具,用于衡量两个变量之间的关联程度。相关系数可以帮助我们理解数据集中的变量是如何相互作用的,这对于预测模型的建立和解释是非常有用的。以下是几种常用的相关系数及其在数学建模中的应用说明:

1. 皮尔逊相关系数(Pearson correlation coefficient)

皮尔逊相关系数衡量的是两个变量之间的线性相关性。它的值范围是 ([-1, 1]),其中:

  • 1 表示完全正相关;
  • -1 表示完全负相关;
  • 0 表示没有线性相关性。
计算公式

[ r = \frac{\sum (X_i - \bar{X})(Y_i - \bar{Y})}{\sqrt{\sum (X_i - \bar{X})2 \sum (Y_i - \bar{Y})2}} ]
其中,(\bar{X}) 和 (\bar{Y}) 分别是 (X) 和 (Y) 的平均值。

应用场景
  • 用于分析变量间的线性关系。
  • 用于特征选择,帮助识别哪些变量对预测目标变量最有价值。
  • 用于检测模型中的多重共线性问题。

2. 斯皮尔曼等级相关系数(Spearman's rank correlation coefficient)

斯皮尔曼等级相关系数是一种非参数统计方法,用于衡量两个变量之间的单调关系。它适用于数据不是正态分布的情况,或当数据以等级形式给出时。

计算公式

[ r_s = 1 - \frac{6 \sum d_i2}{n(n2-1)} ]
其中,(d_i) 是第 (i) 个观测值中 (X) 和 (Y) 的等级差,(n) 是观测值的数量。

应用场景
  • 用于非正态分布的数据。
  • 用于数据中存在异常值的情况。
  • 用于检测两个变量之间的非线性关系。

3. 肯德尔秩相关系数(Kendall's tau correlation coefficient)

肯德尔秩相关系数也是衡量两个变量之间顺序关系的一种方法,适用于分类变量或等级数据。

计算公式

[ \tau = \frac{(\text{number of concordant pairs}) - (\text{number of discordant pairs})}{\frac{1}{2} n(n-1)} ]
其中,(n) 是观测值的数量。

应用场景
  • 用于评委对选手的评分等场景。
  • 用于医院的尿糖化验报告等场景。

4. 相关系数的假设检验

无论是皮尔逊相关系数还是斯皮尔曼等级相关系数,通常都需要进行假设检验来确定相关系数是否显著。常用的假设检验方法包括t检验和秩和检验。

t检验
  • 用于皮尔逊相关系数的假设检验。
  • 通常情况下,如果p值小于0.05,则认为相关系数显著。
秩和检验
  • 用于斯皮尔曼等级相关系数的假设检验。
  • 同样,如果p值小于0.05,则认为相关系数显著。

实现代码示例

以下是一个简单的MATLAB代码示例,用于计算斯皮尔曼等级相关系数及其对应的p值:

function [ R , P ] = fun_spearman(X, kind)
% 输入值:
% X: m*n维数据矩阵,每一行表示一个样本,每一列表示一个指标;且 m >=30 以及 n >= 2
% kind=1: 单侧检验;kind=2: 双侧检验 (不输入默认为2)

if nargin == 1  % 判断用户输入的参数,如果只输入了一个参数,则默认kind = 2
    kind = 2;
end

[m,n] = size(X); % 计算样本个数和指标个数

if m < 30  % 判断是否样本数太少
    error('样本个数少于30,请直接查临界值表进行假设检验');

elseif n <2  % 判断是否指标数太少
    error('指标个数太少,无法计算');

elseif kind ~= 1 && kind ~= 2 % 判断kind是否为1或者2
    error('kind只能取1或者2');

else  % 如果上述输入均没问题的话就执行下面的操作
    R = ones(n); % 初始化R矩阵
    P = ones(n); % 初始化P矩阵
    for i = 1: n
        for j = (i+1): n   % 这样设置循环只计算主对角线上半部分的值
            r = calculate_r(X(:, i), X(:, j));  % 用子函数 calculate_r 计算i和j两列的相关系数r
            p = calculate_p(r, m, kind); % 用子函数 calculate_p 计算p值
            R(i, j) = r;  R(j, i) = r;  % 把计算出来的相关系数r填充到我们的R矩阵中,注意R矩阵对称
            P(i, j) = p; P(j, i) = p;  % 把计算出来的p值填充到我们的P矩阵中,注意P矩阵对称
        end
    end
end

% 子函数 calculate_r
function [r]= calculate_r(X, Y)
% 输入值:
% X: 列向量
% Y: 列向量,且与X同维度
% 返回值:
% r: X和Y的斯皮尔曼相关系数(第一种定义方法)

RX = rank_data(X);  % 调用自定义函数 rank_data 来计算X的等级
RY = rank_data(Y);  % 调用自定义函数 rank_data 来计算Y的等级
d = RX - RY; % 计算X和Y等级差
n = size(X,1); % 计算样本个数n
r = 1 - (6 * sum(d .* d)) / (n * (n^2-1));  % 利用公式计算斯皮尔曼相关系数

end

% 子函数 calculate_p
function [p]= calculate_p(r, m, kind)
% 输入值:
% r:斯皮尔曼相关系数
% m: 样本个数
% kind: 1表示单侧检验 2表示双侧检验
% 返回值:
% p:计算出来的p值

z = abs(r) * sqrt(m-1); % 计算检验值  注意这里的相关系数我们先转换为正数再进行计算
p = (1 - normcdf(z)) * kind; % 计算p值,双侧检验的p值是单侧检验的2倍

end

% 子函数 rank_data
function rankedData = rank_data(data)
% 计算等级
sortedIndices = sortrows(data);
ranks = (1:size(data,1))';
rankedData = ranks(sortedIndices);
end

使用示例

假设我们有一组数据 X,我们可以这样调用上面定义的函数来计算斯皮尔曼相关系数和p值:

X = [3 5 6 1; 7 8 2 4; 2 4 8 9; 1 3 9 2];  % 示例数据
[R, P] = fun_spearman(X);
disp(R);  % 显示斯皮尔曼相关系数矩阵
disp(P);  % 显示p值矩阵

通过这种方式,你可以轻松地在数学建模项目中应用相关系数分析来探索变量之间的关系。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2128946.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

GPIO(General Purpose Input/Output)输入/输出

GPIO最简单的功能是输出高低电平&#xff1b;GPIO还可以被设置为输入功能&#xff0c;用于读取按键等输入信号&#xff1b;也可以将GPIO复用成芯片上的其他外设的控制引脚。 STM32F407ZGT6有8组IO。分别为GPIOA~GPIOH&#xff0c;除了GPIOH只有两个IO&#xff0c;其余每组IO有…

cesium.js 入门到精通(5)

现在我们看这个地图是 属于一个平面的 如果我们想把这个弄成 那种真实的高低起伏的 山脉 或者 其他的建筑显示 我们可以使用 添加地形 terrainProvider: new Cesium.CesiumTerrainProvider({url: "./terrains/gz",}), 这是一个参数 配置 地形 整体代码 <templa…

vba发邮件:如何设置自动化发送电子邮件?

vba发邮件的技巧有哪些&#xff1f;VBA如何调用outlook发邮件&#xff1f; VBA发邮件功能是一个非常实用的工具&#xff0c;能够帮助用户自动发送电子邮件&#xff0c;减少手动操作的时间和错误。AokSend将详细介绍如何通过VBA发邮件来实现自动化发送电子邮件的设置。 VBA发邮…

macOS上谷歌浏览器的十大隐藏功能

谷歌浏览器&#xff08;Google Chrome&#xff09;在macOS上拥有一系列强大而隐蔽的特性&#xff0c;这些功能能显著提高您的浏览体验。从多设备同步到提升安全性和效率&#xff0c;这些被低估的功能等待着被发掘。我们将逐步探索这些功能&#xff0c;帮助您最大化利用谷歌浏览…

让人眼前一亮的软件测试简历,收不到面试邀请算我输

不知道大家的简历是不是都写成下面这样 根据需求文档进行需求分析 熟悉业务流程&#xff0c;明确测试点 根据测试点设计测试用例 参与评审测试用例 提交和回归跟踪缺陷&#xff0c;确认修复完成之后关闭Bug 通过使用Fiddler进行抓包分析并定位前后端Bug 使用简单的SQL语…

【北京迅为】《STM32MP157开发板使用手册》- 第二十五章Cortex-M4 GPIO_LED实验

iTOP-STM32MP157开发板采用ST推出的双核cortex-A7单核cortex-M4异构处理器&#xff0c;既可用Linux、又可以用于STM32单片机开发。开发板采用核心板底板结构&#xff0c;主频650M、1G内存、8G存储&#xff0c;核心板采用工业级板对板连接器&#xff0c;高可靠&#xff0c;牢固耐…

什么是线程池?从底层源码入手,深度解析线程池的工作原理

导航&#xff1a; 【Java笔记踩坑汇总】Java基础JavaWebSSMSpringBootSpringCloud瑞吉外卖/谷粒商城/学成在线设计模式面试题汇总性能调优/架构设计源码解析 目录 一、什么是线程池&#xff1f; 1.1 基本介绍 1.2 创建线程的两种方式 1.2.1 方式1&#xff1a;自定义线程池…

山峰个数【python实现】

思路见此处 def get_mountain_peaks(height):peak_count 0n len(height)if n 0:#如果一个山高都没有&#xff0c;return 0return 0for i in range(1,n-1):if height[i] > height[i-1] and height[i] > height[i1]:peak_count 1if height[0] > height[1] and n &g…

TimedRotatingFileHandler 修改 suffix 后 backupCount 设置失效无法自动删除文件

本文主要分析 TimedRotatingFileHandler 在实际使用中 backupCount 设置未生效的问题。源码分析显示&#xff0c;文件删除依赖于后缀 suffix 的正则匹配&#xff0c;如果自定义了 suffix 格式&#xff0c;必须同步更新 extMatch 的正则表达式&#xff08;保证正则表达式可以正常…

国庆出游季,南卡Runner Pro5骨传导耳机让旅途更完美!

国庆长假将至&#xff0c;无论是计划一场远行还是近郊的户外活动&#xff0c;一款适合的耳机都能让旅途更加愉快。南卡Runner Pro5骨传导耳机以其独特的设计和功能&#xff0c;成为了国庆出行的理想伴侣。 首先&#xff0c;骨传导耳机通过颅骨传递声音&#xff0c;避免了传统耳…

从理论到实战:人才培养基地如何缩短职场适应期?

在当今竞争激烈的职场环境中&#xff0c;从校园到职场的过渡对于许多新人来说充满挑战。而人才培养基地正以其独特的方式&#xff0c;努力缩短这一职场适应期。 人才培养基地首先注重理论与实践的结合。不再是单纯的知识灌输&#xff0c;而是将理论教学与实际操作紧密相连。 实…

JAVA——方法重载

方法的重载&#xff1a;多个方法在同一个类&#xff0c;方法名相同&#xff0c;参数/参数类型/参数数量不同 返回值不能作为重载条件 public class demo9_12_2 {public static void main(String[] args) {//调用&#xff0c;方法的签名getMax();getMax(10);getMax(10.9F);}//…

如何在Word中复制整页内容并保持原有格式不变?

在日常处理工作时&#xff0c;我们经常需要在Word文档中复制和粘贴内容&#xff0c;特别是在处理报告方案等文档时&#xff0c;保持复制内容的格式不变显得尤为重要。本文将详细介绍如何在Word中复制整页内容并保持原有格式不变&#xff0c;确保文档的整洁性和一致性。 方法一&…

修改jupyter notebook 默认浏览器(不动配置文件,改系统默认浏览器)

最开始把联想浏览器切到EDGE就是用的修改系统的默认浏览器。不知怎么的现在搜到的方法都是在说修改配置文件&#x1f613;。 不想动配置文件&#xff0c;平时对默认浏览器没有特殊要求的&#xff0c;可以用这个方法。 这里是把默认浏览器改成联想浏览器&#xff0c;电脑也是联…

【学习笔记】SSL密码套件的选择

往期介绍了TLS/SSL中4种密码套件&#xff0c;分别是Key Exchang、Authentication、Encryption和Hashing&#xff0c;每种密码套件下又包含多种协议。 当我们部署SSL证书时&#xff0c;我们需要选择自己支持哪种密码套件。我们可能想要用最安全的&#xff0c;但我们的潜在客户可…

一文弄懂FLink状态及checkpoint源码

一文弄懂Flink重要源码 1. Flink 状态源码1.1 valueState源码1.1.1 Update方法1.1.2 Value 方法 2. checkPoint 源码分析2.1 SourceStreamTask的checkpoint实现2.1.1 JobManager端checkpoint调度2.1.2 ScheduledTrigger定时触发checkpoint2.1.3 SourceStreamTask的Checkpoint执…

搭建 WordPress 及常见问题与解决办法

浪浪云活动链接 &#xff1a;https://langlangy.cn/?i8afa52 文章目录 环境准备安装 LAMP 堆栈 (Linux, Apache, MySQL, PHP)配置 MySQL 数据库 安装 WordPress配置 WordPress常见问题及解决办法数据库连接错误白屏问题插件或主题冲突内存限制错误 本文旨在介绍如何在服务器上…

推荐一款非常强大的表单校验库:React Hooks Form

React Hooks Form react-hook-form 是一个专注于管理 React 表单状态的库。它的核心理念是利用 React Hooks 来简化表单的处理过程。与其他表单管理库相比&#xff0c;它的优势在于性能和简洁性。它不需要在每次输入更改时重新渲染整个表单组件&#xff0c;从而提高了性能。 …

茶百道三天市值抹去三分之一:新茶饮脱下“皇帝的新装”

近日&#xff0c;随着港股通标的调整生效&#xff0c;茶百道获纳入的消息传出后&#xff0c;股价不升反降&#xff0c;单日跌幅之大引发热议。 9月10日至12日&#xff0c;茶百道在三个交易日内累计下跌36%&#xff0c;股价屡创上市以来新低。其中&#xff0c;9月11日单日跌幅更…

【强化学习系列】Gym库使用——创建自己的强化学习环境1:单一环境创建测试

目录 一、Gym类创建单一环境 1.gym类初始化 __init__() 2.gym类初始状态 reset() 3.gym类渲染可视化 render() 4.gym类运行核心 step() 5.gym类运行 在强化学习中实操中&#xff0c;有两个非常重要的设计模块&#xff0c;一个是模型网络和算法的设计&#xff0c;另一个则是用于…