您现在的位置是:首页 >其他 >状态估计|基于 MMSE 的分析估计器的不确定电力系统分析(Matlab代码实现)网站首页其他

状态估计|基于 MMSE 的分析估计器的不确定电力系统分析(Matlab代码实现)

宇哥预测优化代码学习 2025-03-26 00:01:02
简介状态估计|基于 MMSE 的分析估计器的不确定电力系统分析(Matlab代码实现)

  👨‍🎓个人主页

💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

📋📋📋本文目录如下:🎁🎁🎁

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

 🌈4 Matlab代码、数据、文章下载


💥1 概述

摘要——大量可再生分布式能源资源(DER)的预期渗透率正在推动下一代电力系统走向不确定性,这可能会对状态估计的可靠性和复杂性产生巨大影响。因此,集成DER的电力系统的随机潮流(SPF)和预测辅助状态估计成为未来电网运行的主要挑战。本文提出了一种新的状态估计方法,称为“均方估计器”(MSE),用于处理电力系统参数的不确定性。该估计器旨在实现最小均方误差(MMSE),并受益于对SPF的先验研究,其中涉及系统参数的概率密度函数(PDF)。该估计器的主要优势在于其能够即时融入电力系统的动态特性。此外,MSE的解析公式表达了估计参数的均值,通过一个额外的项进行修正,该修正项考虑了参数的测量值。研究表明,所提出的MSE能够在测量数量有限的情况下提供准确的状态估计,并保证收敛。MSE已经使用IEEE 14、30、39和118节点模型在不同的测量冗余度下进行了测试。结果与加权最小二乘法(WLS)、无迹卡尔曼滤波(UKF)以及基于压缩感知的UKF(CS-UKF)等方法进行了比较。数值结果表明,MSE在测量数量有限的情况下表现优越,而WLS和UKF可能会导致发散。

索引词——动态状态估计;最小均方误差;高斯混合模型;解析估计器;有限数量的测量。

在分布式电网系统中部署可再生资源带来了一系列新挑战,主要是由于它们的可变性和对气候参数的依赖性,这可能对测量潮流和状态估计所需的系统参数产生重大影响。第一个旨在根据某些参数的先验知识(或预测)计算整个系统参数,而后者是能源管理系统的支柱,估计在噪声条件下测量的这些参数。

大量可再生分布式能源(DER)的预期渗透正在推动下一代电力系统走向不确定性,这可能对状态估计的可靠性和复杂性产生巨大影响。因此,集成DER的电力系统的随机潮流(SPF)和预测辅助状态估计正在成为未来电网运行的主要挑战。在本文中,提出了一种新的状态估计方法,称为“均方估计”(MSE)来处理电力系统参数的不确定性。估计器旨在实现最小均方误差,并受益于先前对 SPF 的研究,其中涉及系统参数的概率密度函数。该估算器的主要优势在于它能够即时整合电力系统的动态。此外,MSE 的解析公式表示通过附加项校正的估计参数的平均值,该附加项考虑了参数的测量。结果表明,所提出的 MSE 可以通过有限数量的测量提供准确的状态估计,并保证收敛。 MSE 已使用 IEEE 14、30、39 和 118 节点模型针对不同的测量冗余进行了测试。结果已与加权最小二乘法、无味卡尔曼滤波器 (UKF) 和基于压缩传感的 UKF 等方法进行了比较。数值结果显示了卓越的性能,特别是在 WLS 和 UKF 可能导致分歧的有限数量的测量下。

在分布式电网系统中部署可再生资源带来了一系列新的挑战,这主要是由于其具有间歇性和依赖气候参数的特点,这些特点可能会对测量潮流和状态估计所需的系统参数产生重大影响。潮流计算的目标是基于对某些参数的先验知识(或预测)来计算整个系统的参数,而状态估计则是能源管理系统的核心,它旨在估计在噪声条件下测量的这些参数。更具体地说,状态估计器的目标是通过消除测量误差来提供与真实值大致相等的系统参数估计值。在可再生资源存在的情况下,许多过去的研究已经将系统不确定性纳入到潮流测量和状态估计中。随机潮流(SPF)和预测辅助状态估计(也称为动态状态估计,DSE)考虑了发电和负荷的不确定性行为。主要目标是确定电力系统参数的概率密度函数(PDF),以解决SPF问题[1]–[13]。例如,在[1]中,作者提出将累积量的概念和格拉姆-查利尔展开理论结合起来解决SPF问题,而[2]则对四种不同的洪氏点估计方案进行了比较和分析研究,以解决SPF问题。[4]还提出了一种实用方法,用于处理各种随机变量,例如遵循不同类型概率分布的可再生能源参数。在输入PDF未知的情况下,[5]开发了一种非参数概率潮流分析方法。其他研究主要使用高斯混合模型(GMM)来近似负荷或DER混合的PDF,这些PDF无法用已知形状的PDF来近似[6]–[8]。

此外,人们为支持下一代电力系统而对实时DSE做出了巨大努力[14]–[23]。特别是,随着具有提供同步测量的独特能力的相量测量单元(PMU)的出现,实时DSE受到了相当多的关注[24]–[36]。此外,为了提高DSE的性能和鲁棒性,同时减少执行时间,还开发了各种卡尔曼滤波版本[33],[34]。例如,在[35]中评估了三种卡尔曼滤波版本,即扩展卡尔曼滤波(EKF)、无迹卡尔曼滤波(UKF)和容积卡尔曼滤波(CKF),这些版本是否使用PMU测量都有研究。通过利用PMU的测量数据,[36]中的作者开发了一种带未知输入的扩展卡尔曼滤波器(EKF-UI),它可以估计同步发电机的状态以及未知输入。另一方面,[22]中的研究描述了一种用于电力系统的广义最大似然(GM)估计器(GM-PSE)。在这种方法中,首先计算分布式能源资源(DER)和负荷的短期预测,以预测状态。然后使用冗余批量回归模型处理预测状态和测量参数。该方法使用迭代重加权最小二乘(IRLS)算法来获得最终的估计状态。为了更快且更可靠地跟踪系统瞬态,同一批作者还提出了使用广义最大似然方法的迭代扩展卡尔曼滤波器(称为GM-IEKF)[23]。然而,我们应该指出,上述所有方法都是为了预测然后估计状态,而不管SPF本应确定的状态PDF的任何先验知识。

结论: 

本文提出了一种新的基于解析方法的状态估计器,称为均方估计器(Mean Squared Estimator, MSE),用于处理状态参数和测量值均为非高斯随机变量(Non-Gaussian Random Variables, NGRV)的一般情况。在我们的分析中,我们使用高斯混合模型(Gaussian Mixture Model, GMM)来近似NGRV的概率密度函数(PDF),将其表示为高斯分量的加权和,从而推导出一个通用公式,即在给定一组测量值的情况下,估计状态的条件期望。
我们使用三个基准IEEE测试模型进行了仿真。所提出的MSE方法的性能与加权最小二乘法(Weighted Least Squares, WLS)、无迹卡尔曼滤波(Unscented Kalman Filter, UKF)以及基于压缩感知的无迹卡尔曼滤波(Compressive Sensing-based Unscented Kalman Filter, CS-UKF)的性能进行了比较。结果验证了所提出的方法优于背景方法。此外,还表明所提出的状态估计器能够在测量数量有限的情况下进行高精度估计。
未来的工作将扩展到对动态随机潮流(Stochastic Power Flow, SPF)进行更深入的分析,以及研究SPF误差对MSE结果的敏感性。

详细文章讲解见第4部分。

📚2 运行结果

使用基准IEEE测试网络(即IEEE 14节点、IEEE 30节点和IEEE 118节点)进行了仿真,以验证基于最小均方误差(MMSE)方法在电力系统中的性能。在本节中,我们首先介绍仿真环境和测试系统的相关情况,随后简要描述一种用于比较的基准估计方法,例如加权最小二乘法(WLS)。最后,我们对仿真结果进行分析和讨论。

 

 

 

 

 部分代码:


%% loading data
%% %%% n=1
I = 1:N_samples
    filename = strcat('X_true_',num2str(nbus),'bus_CV=',num2str(cv),'_n_z=',num2str(n_z),'.txt');
    X_true = load(filename);
    
    X_true = X_true(:,I)
    
    filename1 = strcat('X_e_',num2str(nbus),'bus_CV=',num2str(cv),'_n_z=',num2str(n_z),'.txt');
    X_mse = load(filename1);
    X_mse = X_mse(:,I)

    error_mse(:,:,n_z) = abs(X_mse - X_true)
           
    MAE_mse(:,n_z) = mean(error_mse(:,:,n_z),2)
                            
    error_mse_V(:,n_z) = mean(abs(X_mse(1:nbus,:) - X_true(1:nbus,:)),2)
    
    mean_error_mse_V(:,n_z) = mean(error_mse_V(:,n_z))
    
    error_mse_del(:,n_z) = mean(abs(X_mse(nbus+1:end,:) - X_true(nbus+1:end,:)),2)
    
    mean_error_mse_del(:,n_z) = mean(error_mse_del(:,n_z))
                
    
    mean_absolute_error_mse_V(:,n_z) = mean(X_mse(1:nbus,:) - X_true(1:nbus,:),2)
    
    mean_mean_absolute_error_mse_V(:,n_z) = mean(mean_absolute_error_mse_V(:,n_z))
    
    mean_absolute_error_mse_del(:,n_z) = mean(X_mse(nbus+1:end,:) - X_true(nbus+1:end,:),2)
    
    mean_mean_absolute_error_mse_del(:,n_z) = mean(mean_absolute_error_mse_del(:,n_z))
    
        
    std_absolute_error_mse_V(:,n_z) = std(X_mse(1:nbus,:) - X_true(1:nbus,:),0,2)
    
    mean_std_absolute_error_mse_V(:,n_z) = mean((std_absolute_error_mse_V(:,n_z)))
    
    std_absolute_error_mse_del(:,n_z) = std(X_mse(nbus+1:end,:) - X_true(nbus+1:end,:),0,2)
    
    mean_std_absolute_error_mse_del(:,n_z) = mean((std_absolute_error_mse_del(:,n_z)))
   

absolute_error = [mean_error_mse_V mean_error_mse_del]*1000

mean_error = [mean_std_absolute_error_mse_V mean_std_absolute_error_mse_del]*1000


%%
h=fig('units','inches','width',7,'height',4.2,'fontsize',12);
% plot(fopt(2,:),fopt(1,:),'*');
hold on;
grid on;


% MAE_mse(83:93,3) = MAE_mse(83:93,3)/4

plot(1:1:nbus, MAE_mse(1:nbus,1),'MarkerSize',4,'MarkerFaceColor',[0.5 0.8 0.5],...
    'Marker','o',...
    'LineStyle','-',...
    'LineWidth',2,...
    'Color',[0.5 0.8 0.5]);
xlim([1 nbus]);
ylabel('Mean absolute error of voltage amplitude (pu)','FontSize',12,'FontName','Times New Roman');
xlabel('Bus #','FontSize',12,'FontName','Times New Roman');
title('Mean absolute error of voltage amplitude using MSE')
saveas(gcf, 'results/mae_voltage_amp.fig')


%%
h=fig('units','inches','width',7,'height',4.2,'fontsize',12);
% plot(fopt(2,:),fopt(1,:),'*');
hold on;
grid on;

% MAE_mse(83:93,3) = MAE_mse(83:93,3)/4

plot(2:1:nbus, MAE_mse(nbus+1:2*nbus-1,1), 'MarkerSize',4,'MarkerFaceColor',[0.5 0.8 0.5],...
    'Marker','o',...
    'LineStyle','-',...
    'LineWidth',2,...
    'Color',[0.5 0.8 0.5]);
xlim([2 nbus])
ylabel('Mean absolute error of voltage angle (rad)','FontSize',12,'FontName','Times New Roman');
xlabel('Bus #','FontSize',12,'FontName','Times New Roman');
title('Mean absolute error of voltage angle using MSE')
saveas(gcf, 'results/mae_voltage_angle.fig')

%%%%%%%%%%%%%%%


%%


%--------------------------------------------

h=fig('units','inches','width',7,'height',4.2,'fontsize',12);
% plot(fopt(2,:),fopt(1,:),'*');
hold on;
grid on;
plot(2:1:nbus, del_true, 'MarkerSize',4,'MarkerFaceColor',[0.5 0.8 0.5],...
    'Marker','square',...
    'LineStyle','-',...
    'LineWidth',1,...
    'Color',[0.5 0.8 0.5]);
% plot(2:1:nbus, del_mse,'MarkerSize',4,'MarkerFaceColor',[0.0784313753247261 0.168627455830574 0.549019634723663],...
%     'Marker','*',...
%     'LineStyle','-',...
%     'LineWidth',1,...
%     'Color',[0.847058832645416 0.160784319043159 0])

ylabel('Voltage angle (rad)','FontSize',12,'FontName','Times New Roman');
xlabel('bus #','FontSize',12,'FontName','Times New Roman');
legend('True value', 'MSE')
title('Voltage angle of true and estimated values')
saveas(gcf, 'results/voltage_ang_true_est.fig')

🎉3 参考文献

部分理论来源于网络,如有侵权请联系删除。

[1]杨德昌,王雅宁,李朝霞,龚雪娇,余建树,李玲.基于改进粒子滤波的综合能源系统预测辅助状态估计[J].电力工程技术,2022,41(06):172-181.

[2]王义,杨志伟,吴坡,刘明洋,裴杰才,李春蕾.计及高比例分布式光伏能源接入的配电网状态估计[J].综合智慧能源,2022,44(10):12-18.

[3]H. Bilil and H. Gharavi, "MMSE-Based Analytical Estimator for Uncertain Power System With Limited Number of Measurements," in IEEE Transactions on Power Systems, vol. 33, no. 5, pp. 5236-5247, Sept. 2018, doi: 10.1109/TPWRS.2018.2801121.

[4]黄天敏.基于抗差状态估计的配电网运行状态诊断与分析[J].电力电容器与无功补偿,2022,43(06):92-102.DOI:10.14044/j.1674-1757.pcrpc.2022.06.014.

[5]A. Abur and A. Exposito, Power system state estimation: theory and implementation. Marcel Dekker, Inc., Cimarron Road, Monticello, New York 12701, U.S.A, 2004.

[6] A. N. Shiryaev, Probability-1, third edit ed., U. Sheldon Axler San Francisco State University, San Francisco, CA, U. Kenneth Ribet University of California, Berkeley, CA, and Advisory, Eds. Springer, 2016, vol. 95.

[7] A. P. I. o. N. Y. . Papoulis, Probability, Random Variables, and Stochastic Processes, 3rd ed., S. C.-M. U. w. Director, Ed. New York: McGraw Hill Series in Electrical Engineering, 1991.

[8] O. Kosut, L. Jia, R. J. Thomas, and L. Tong, “Malicious data attacks on the smart grid,” IEEE Transactions on Smart Grid, vol. 2, no. 4, pp. 645–658, 2011.

[9] V. Kekatos and G. B. Giannakis, “Distributed robust power system state

estimation,” IEEE Transactions on Power Systems, vol. 28, no. 2, pp. 1617–1626, 2013.

[10] ——, “From Sparse Signals to Sparse Residuals for Robust Sensing,” IEEE Transactions on Power Systems, vol. 59, no. 7, pp. 3355–3368, 2011.

 🌈4 Matlab代码、数据、文章下载

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。