一篇文章带你实践掌握社会网络分析——随机网络、度保持随机化、BA模型

社会网络分析 社区划分—经典数据集 最近在搞有关社会网络分析的毕设,于是整理了几个常用的数据集,方便大家下载使用_(:з」∠)_~ 这是查找数据集的网站,由于我只用了简单的几个,所以如果没找到童靴需要的可以点击这个网站。 空手道俱乐部数据集 ... 阅读详情
AI摘要

该博客围绕网络数据分析展开,先对网络数据进行指标说明、平均度计算、子图绘制和整体图像绘制。接着生成随机网络、度保持的随机网络和BA模型网络,并分别与实际网络对比相关特征和指标,如度分布、拓扑结构、网络直径、平均距离和集聚系数等。

实践内容:

  • 生成和下载的网络相同平均度和网络规模的随机网络
  • 对比分析随机网络和下载的网络相关的特征和指标
  • 采用度保持的网络随机化算法生成和下载的网络度序列相同的网络
  • 利用BA模型生成与下载的网络模型相同的网络,其初始和每个时间t新加入节点的连边自己定义
  • 对比分析生成的网络和下载的网络相关的特征和指标

一 网络数据分析

High-School_data_2013.csv

1.1 指标说明

网络数据来自于sociopatterns,数据集对应于2013年2月法国马赛一所高中学生之间的联系和友谊关系,通过各种技术测量得到。该数据集包含五个指标,每行的形式为"t i j Ci Cj",每一行的内容意义为:在[t-20, t]时刻,编号为i和编号为j的同学在一起活动,同时i同学和j同学分别来自Ci和Cj,Ci和Cj代表班级的编号。

1.2 网络平均度计算

在原始的网络数据集中,可以发现每一行包括同学i与同学j在一起活动的信息,因此,当设定节点为每一名高中生编号时,二者之间是否有联系,将取决于数据集中二者是否在同一段时间内一起活动过,即出现在同一行中。由此,我们通过获取学生编号、定义映射索引并构建邻接矩阵,即可计算每个节点的度数,取平均值,即得到网络的平均度。

# 读取数据
df = pd.read_csv('E:\\High-School_data_2013.csv', header=None,
                 sep='\s+', names=['t', 'i', 'j', 'C_i', 'C_j'])
row, col = df.shape
# 获取学生编号的集合
students = set(df['i']).union(set(df['j']))
# 定义学生编号映射的字典和索引
student_mapping = {}
index = 0
for student_id in students:
    if student_id not in student_mapping:
        student_mapping[student_id] = index
        index += 1
# 构建邻接矩阵
num_students = len(students)
adjacency_matrix = np.zeros((num_students, num_students))
for index, row in df.iterrows():
    student_i = student_mapping[row['i']]
    student_j = student_mapping[row['j']]
    adjacency_matrix[student_i, student_j] = 1
    adjacency_matrix[student_j, student_i] = 1
# 计算每个节点的度
degrees = np.sum(adjacency_matrix, axis=1)
# 计算平均度
average_degree = np.mean(degrees)
print("N = ",num_students)
print("Average degree:", average_degree)
N =  327
Average degree: 35.584097859327215

1.3 绘制子图

由于原始数据集包含的节点数过多,考虑将数据集按照时间做划分,同一时间段活动的同学绘制一个子图,其中在同一时间段一起活动的同学之间表示有联系。

# 将数据按时间分组
grouped = df.groupby('t')

# 绘制无向图
for time, group in grouped:
    # 创建一个子图
    plt.figure()
    # 添加子图标题
    plt.title(f"Graph at Time {time}")
    # 获取子图数据
    subgraph_df = grouped.get_group(time)
    # 创建子图
    subgraph = nx.from_pandas_edgelist(subgraph_df, 'i', 'j')
    # 绘制子图,并设置节点大小、标签大小、邻居节点连接距离
    pos = nx.spring_layout(subgraph, k=2, iterations=100)
    nx.draw(subgraph, pos, with_labels=True, node_size=300, 
            font_size=8, node_color='cyan', edge_color='black',
            width=1)
    # 显示图形
    plt.show()

部分子图展示:
图1 时间分组图1图2 时间分组图2
图3 时间分组图3
以上图片分别展示了在时间1385982020、1385982040和1385982060及其前20s时间段内活动的同学,节点之间的连线代表这两位同学在一起活动。

1.4 整体图像

不按照时间进行划分,将全部数据绘制成一张网络图,用于与后续生成的随机网络图作对比。

# 绘制整体图像
plt.figure()
plt.title('Total Graph')
graph_df = nx.from_pandas_edgelist(df, source='i', target='j')
# 绘制图,并设置节点大小、标签大小、邻居节点连接距离
pos = nx.spring_layout(graph_df, k=2, iterations=100)
# 计算节点的度
degrees = dict(graph_df.degree())
# 根据节点的度定义节点的颜色,度越大,颜色越深
node_color = [degree for node, degree in degrees.items()]
nx.draw(graph_df, pos, with_labels=False, node_size=200, 
        font_size=8, node_color=node_color, edge_color='black',
        width=1)
plt.show()

图4 整体图像

二 随机网络

2.1 随机网络生成

按照要求,需要生成与该网络数据规模相同且平均度相同的随机网络,网络规模考虑节点的个数、平均度相同则要考虑概率的设置。
根据随机网络平均度的公式: < k > = p ∗ ( n − 1 ) <k> = p*(n-1) <k>=p∗(n−1),我们将概率设置为该网络数据的平均度与(网络规模-1)的比值。

# 定义节点数量和边的概率
n = num_students  # 节点数量
p = average_degree / (n - 1)  # 边的概率

# 生成随机网络
random_graph = nx.erdos_renyi_graph(n, p)
# 计算节点的度
degrees = dict(random_graph.degree())
# 根据节点的度定义节点的颜色,度越大,颜色越深
node_color = [degree for node, degree in degrees.items()]
plt.figure()
plt.title('Random Graph')
# 绘制随机网络
nx.draw(random_graph, with_labels=False, node_color=node_color,
        node_size=200, width=0.5)
plt.show()

图5 随机网络图

2.2 对比相关特征和指标

2.2.1 度分布

在随机网络中,有些节点有许多连接,有些节点只有较少的连接,甚至没有连接,度分布 p k p_{k} pk​,表示一个随机选择的节点度为 k k k的概率。以下是随机网络的度分布直方图,反映了不同节点度的数量分布。

# 定义节点数量和边的概率
n = num_students  # 节点数量
p = average_degree / (n - 1)  # 边的概率
# 生成随机网络
random_graph = nx.erdos_renyi_graph(n, p)
# 计算节点的度
degrees =[degree for node, degree in random_graph.degree()]
# 绘制度分布直方图
plt.figure()
plt.hist(degrees, bins=range(max(degrees)+1), color='skyblue',
         edgecolor='black', alpha=0.7)
plt.title('Degree Distribution')
plt.xlabel('Degree')
plt.ylabel('Frequency')
plt.grid(True)
plt.show()

图6 随机网络度分布
可以发现,节点度数目主要集中30到40之间,与所获取的网络数据平均度35.58所反映的集中趋势吻合。
泊松分布曲线:
图7 泊松分布曲线
对比分布曲线和度分布直方图,可以认定该随机数据符合泊松分布。

注:随机网络度分布的精确形式是二项分布。只有在(平均度)远小于N(节点数目)的极限情况下才可以近似为泊松分布。但由于大多数真实网络是稀疏的,上述近似需要的条件通常会被满足。

# 计算节点的度
degrees =[degree for node, degree in graph_df.degree()]
# 绘制度分布直方图
plt.figure()
plt.hist(degrees, bins=range(max(degrees)+1), color='pink',
         edgecolor='black', alpha=0.7)
plt.title('Degree Distribution')
plt.xlabel('Degree')
plt.ylabel('Probability')
plt.grid(True)
plt.show()

图8 实际网络度分布图
对比随机网络的度分布图和实际网络的度分布图,发现随机网络的度分布图更为集中,而实际网络的度分布图会出现一些极端值,如存在2个度大于80的节点以及部分度小于10的节点,这些情况在随机网络中均不存在。从该案例数据进行解释,该度分布图反映了高中生群体中存在少数“社牛”与“社恐”,“社牛”在社交圈子中拥有大量的朋友联系,相反,“社恐”在圈子中拥有的朋友数很少。

2.2.2 拓扑结构

对比获取的网络数据和随机网络的拓扑结构,初步认定网络数据为全连通状态。

全连通状态:

  • 仅有一个巨连通分支
  • 没有孤立节点和小连通分支
  • 巨连通分支的大小为N
  • 巨连通分支中有环

在随机网络的演化过程中,随着网络的平均度的改变,随机网络的拓扑结构也会发生变化,其中包括:亚临界状态、临界点、超临界状态以及全连通状态。当平均度 < k > <k> <k>大于 l n N ln{N} lnN时,可以认为该网络为全连通状态。从网络数据分析中所得信息可知,平均度为35.58,N为327,显然满足全连通状态的平均度要求。

2.2.3 网络直径

网络直径指的是一个网络中任意两个节点之间的最短路径的最大长度,计算网络直径的算法通常使用图论中的最短路径算法,如广度优先搜索等。基于Python,可以直接调用库函数计算图中的最短路径。

G = nx.Graph()
G.add_edges_from(random_graph.edges())
# 计算随机网络直径
diameter = nx.diameter(G)
print("随机网络直径为:", diameter)

G1 = nx.Graph()
G1.add_edges_from(graph_df.edges())
# 计算下载网络直径
diameter1 = nx.diameter(G1)
print("下载网络直径为:", diameter1)
随机网络直径为: 3
下载网络直径为: 4

从网络直径这一特征指标来看,下载的网络数据网络直径为4,而随机网络直径为3,存在一定差异。在实际情况下,真实的网络数据往往会存在极端路径,随机网络按照一定规则生成随机具有联系的节点,出现极端路径的概率较低。

2.2.4 平均距离

平均距离的计算公式:
< d > = l n N l n < k > <d> =\frac{lnN}{ln<k>} <d>=ln<k>lnN​

d_average = math.log(num_students) / math.log(average_degree)
print("公式计算的平均距离为: ", d_average)
公式计算的平均距离为:  1.620975401634233

由于随机网络的网络规模和平均度均与下载的网络相同,因此二者的网络平均距离显然相同。

2.2.5 集聚系数

集聚系数的计算公式:
C i = 2 < L i > k i ( k i − 1 ) C_{i}=\frac{2<L_{i}>}{k_{i}(k_{i}-1)} Ci​=ki​(ki​−1)2<Li​>​
w h i l e    < L i > = p k i ( k i − 1 ) 2 , p while\;<L_{i}>=p\frac{k_i(k_i-1)}{2},p while<Li​>=p2ki​(ki​−1)​,p为节点 i i i任意两个邻居节点之间的连接概率。

假设节点 i i i具有 k i k_{i} ki​个邻居节点,那么对于这些邻居节点,它们之间最多有 k i ( k i − 1 ) 2 \frac{k_i(k_i-1)}{2} 2ki​(ki​−1)​条连接,因此邻居节点之间的连接数目的期望值 < L i > = p k i ( k i − 1 ) 2 <L_{i}>=p\frac{k_i(k_i-1)}{2} <Li​>=p2ki​(ki​−1)​。

clustering_coefficients = nx.clustering(random_graph)
# 提取节点和对应的聚集系数
nodes = list(clustering_coefficients.keys())
coefficients = list(clustering_coefficients.values())
# 绘制聚集系数的分布图
plt.figure()
plt.hist(coefficients, bins=20, alpha=0.75)
plt.xlabel('Clustering Coefficient')
plt.ylabel('Frequency')
plt.title('Clustering Coefficient Distribution')
plt.show()

图9 随机网络集聚系数分布图
从随机网络的集聚系数分布图来看,大多数节点的集聚系数位于0.1到0.12之间,整体分布呈现正态分布。


# 计算每个节点的聚集系数
clustering_coefficients = nx.clustering(graph_df)
# 提取节点和对应的聚集系数
nodes = list(clustering_coefficients.keys())
coefficients = list(clustering_coefficients.values())
# 绘制聚集系数的分布图
plt.figure()
plt.hist(coefficients, bins=20, alpha=0.75, color='pink')
plt.xlabel('Clustering Coefficient')
plt.ylabel('Frequency')
plt.title('Clustering Coefficient Distribution')
plt.show()

图10 实际网络集聚系数分布图
在集聚系数分布上,实际下载的网络与随机网络存在较大差异,实际网络的集聚系数明显大于随机网络所得到的集聚系数。在该数据案例中,说明自己的朋友们也很大概率成为朋友,反映了高中生群体的社交圈子较为集中。


三 度保持的网络随机化

3.1 网络生成

采用度保持的网络随机化算法可以生成与原始网络具有相同节点度分布的新网络。这种算法的目标是在保持网络的全局结构不变的前提下,随机化节点之间的连接,以此来生成具有相似度分布但是拥有不同连接模式的网络。
# 生成一个具有相同节点度分布的度保持的随机化网络
randomized_G = nx.configuration_model(
    list(dict(graph_df.degree()).values()), seed=42)
plt.figure()
plt.title('Degree-Preserved Randomized Graph')
# 绘制图,并设置节点大小、标签大小、邻居节点连接距离
pos = nx.spring_layout(randomized_G, k=2, iterations=100)
# 计算节点的度
degrees = dict(randomized_G.degree())
# 根据节点的度定义节点的颜色,度越大,颜色越深
node_color = [degree for node, degree in degrees.items()]
nx.draw(randomized_G, pos, with_labels=False, node_size=200,
        font_size=8, node_color=node_color, edge_color='black',
        width=1)
plt.show()

图11 度保持随机化网络
从度保持随机化网络的图像中发现,整体的拓扑结构与原来的网络无明显差别,但是会出现部分成环的情况。

3.2 对比相关特征和指标

3.2.1 度分布

图12 度保持随机网络度分布
对比实际网络的度分布图(图8),发现根据度保持算法得到的随机网络的度分布与实际网络度分布基本一致,但仍然存在一定区别,这说明度保持算法可以在很大程度上保持原有网络节点的度分布。

3.2.2 网络直径
# 生成一个具有相同节点度分布的度保持的随机化网络
randomized_G = nx.configuration_model(
    list(dict(graph_df.degree()).values()), seed=42)
G = nx.Graph()
G.add_edges_from(randomized_G.edges())
# 计算随机网络直径
diameter = nx.diameter(G)
print("度保持随机网络直径为:", diameter)
度保持随机网络直径为: 4

对比实际网络的网络直径,发现二者相同,而完全随机化的网络的网络直径与实际网络直径却有所差距,由此发现,采用度保持的随机化网络保留了实际网络更多的网络特征。

3.2.3 集聚系数
# 生成一个具有相同节点度分布的度保持的随机化网络
randomized_G = nx.configuration_model(
    list(dict(graph_df.degree()).values()), seed=42)
randomized_G = nx.Graph(randomized_G)
# 计算每个节点的聚集系数
clustering_coefficients = nx.clustering(randomized_G)
# 提取节点和对应的聚集系数
nodes = list(clustering_coefficients.keys())
coefficients = list(clustering_coefficients.values())
# 绘制聚集系数的分布图
plt.figure()
plt.hist(coefficients, bins=20, alpha=0.75, color='cyan')
plt.xlabel('Clustering Coefficient')
plt.ylabel('Frequency')
plt.title('Clustering Coefficient Distribution')
plt.show()

注意:由于根据度保持的网络随机化算法得到的NetworkX图可能为多重图(指允许两个节点之间存在多条边。因此,需要将randomized_G转换为简单图对象再计算每个节点的集聚系数。

图13 度保持随机化网络集聚系数分布图
从得到的图像发现,通过度保持随机化算法得到的网络集聚系数整体明显小于实际网络各节点的集聚系数,绝大多数节点的集聚系数集中在0.10到0.15之间,相较于简单随机得到的随机网络,度保持随机化网络中少数节点出现较极端的集聚系数。

四 BA模型

4.1 BA网络模型生成

BA模型是一种用于生成无标度网络的模型,网络中的节点度数分布遵循幂律分布。BA 模型的主要思想是网络的增长和优先连接。

  • 增长特性:网络通过添加新的节点而不断生长,即网络的规模是不断扩大的。
  • 优先连接特性:即新的节点更倾向于与那些具有较高连接度的节点相连接,这种效应也被称为“富者更富”或“马太效应”。
BA = nx.random_graphs.barabasi_albert_graph(327, 35)
plt.figure()
plt.title('BA Model Graph')
pos = nx.spring_layout(BA, k=2, iterations=100)
# 计算节点的度
degrees = dict(BA.degree())
# 根据节点的度定义节点的颜色,度越大,颜色越深
node_color = [degree for node, degree in degrees.items()]
nx.draw(BA, pos, with_labels=False, node_size=200,
        font_size=8, node_color=node_color, edge_color='black',
        width=1)
plt.show()

下载的网络数据的网络规模为327,平均度为35.58,因此设置模型参数n、m分别为327、35(两者均要求为int型变量),为更好地与原有数据图像对比,同样按照度越大颜色越深的方法实现可视化图像。
图14 BA模型生成图像
从BA模型生成的图像来看,颜色更深的节点数目明显多于原有数据整体图像(图4),这很好地反映了BA模型的优先连接特性,它对度数越高的节点赋予更高的连接可能性,因此出现“富者越富”现象。

4.2 对比相关特征和指标

4.2.1 度分布

图15 BA网络模型度分布
从得到的BA模型度分布图像来看,BA网络节点的度分布呈现反比例函数曲线趋势,存在少数度较大的节点,绝大多数节点的度在30到50之间,但是却不存在度小于25的节点。这相较于实际网络存在差异,实际网络中存在具有更小度的节点,但尚未出现度大于100的节点。BA网络模型的度分布呈现这种现象也恰好反映了它增长、优先连接的特性,这种特性使得具有更大度的节点出现的可能性增大。

4.2.2 网络直径
BA模型网络直径为: 3

BA网络模型的网络直径为3,与实际网络模型的网络直径存在差异,与简单随机化网络的网络直径相同。

4.2.3 集聚系数

图16 BA网络模型集聚系数分布
对比实际网络模型集聚系数分布图(图10),BA网络模型的集聚系数分布较为集中,绝大多数集中在0.25到0.35之间,同时,BA网络模型各节点整体的集聚系数也小于实际网络模型节点的集聚系数。但是相较于简单随机化网络与度保持的随机化网络,BA网络模型中的节点拥有较大的集聚系数。

复杂网络之ER随机网络的构建、度分布计算、可视化实现(python实现) 实验环境 我用的是Anaconda 自带的Spyder编辑器,python3.8 此算法在上一篇算法复杂网络——随机网络ER的构造C++实现及测试的基础上用python重写了,在编写过程中发现python对数组的初始化非常方便,仅用np.zeros()函数就可以生成,而C++要用双层for循环才可以。在这里我默认系统资源非常充足,就未对内存申请失败进行判断,实际上在测试时节点数1000就报错... 阅读详情

相关推荐

Python社交网络分析与社区发现

图是由节点和边组成的,节点表示实体,例如用户、组织等,边表示节点之间的关系,例如关注、好友关系等。谱聚类是一种基于图论的聚类算法,它将分析对象表示成一个图,并通过计算谱得到每个节点的特征向量,然后将这些特征向量作为输入,应用传统的聚类算法进行聚类。模块度最优化是一种基于图论的社区发现算法,它将社交网络看作是由一系列社区组成的复杂系统,通过最大化社区内部的连接,最小化社区之间的连接来发现社区结构。社交网络中的社区是指节点之间有着相互联系的紧密结构,社区发现就是找到这些紧密结构的过程。

吃不胖. 808

【思维模型】社会网络学重要模型

该内容围绕社会网络学重要模型展开,涵盖网络结构分类(中心式、分散式、分布式)、中心度指标(度中心度等)、关系强度理论、网络特性差异、资源整合模型及文化差异视角等核心内容。应用场景涉及职场人脉、市场营销、组织协作、战略转型等,能提升效率、驱动创新、管控风险、构建竞争壁垒。建议从节点中心性分析与弱关系维护入手,搭建稳定且灵活的社会网络体系,助力在各领域发挥更大作用。

weixin_42548337的博客 1288

【信息科学与工程学】【通信工程】第十八篇 企业网、园区网、数据中心、广域网各类业务网络02

模型类别基本假设网络表示耦合函数渗透方程临界条件物理意义一对一依赖​每个交通节点与一个通信节点相互依赖双层网络:交通层G_T=(V_T,E_T),通信层G_C=(V_C,E_C),层间一一对应边E_I依赖函数:RT​=fT​(RC​,p),RC​=fC​(RT​,p)自洽方程: RT​=p[1−GT​0(1−RT​)][1−GC​0(1−RC​)] RC​=p[1−GC​0(1−RC​)][1−GT​0(1−RT​)]pc​=⟨kT2​⟩⟨kC2​⟩​1​ ⟨k²⟩=⟨k(k-1)⟩对称耦

weixin_49199313的博客 1142

networkx学习(三) 随机网络

规则网络与随机网络

May the Force be with you 2305

Android开发实战:5分钟搞定全屏沉浸式状态栏(附完整代码示例)

本文提供了Android开发中实现全屏沉浸式状态栏的完整实战指南。通过对比主题配置、动态代码设置和Window标志位三种方法,详细讲解了如何隐藏状态栏并处理布局适配。文章还涵盖了刘海屏、手势导航等高级适配场景,并附有可直接使用的工具类代码,帮助开发者快速提升应用视觉体验。

weixin_29197699的博客 359

QKD(量子密钥分发)

量子密钥分发(Quantum Key Distribution,QKD)是一种基于量子力学原理的安全通信协议,它允许两个用户通过不安全的通信信道创建并共享一个安全的密钥。这个密钥随后可以用于加密和解密信息,确保通信的机密性。QKD的核心原理是量子不可克隆定理和量子测量的不确定性。

qq_40844444的博客 2896

随机网络模型

要理解网络结构与网络行为之间的关系并进而考虑改善网络的行为,就需要对实际网络的结构特征有很好的了解,并在此基础上建立合适的网络拓扑模型。 一、从规则网络说起 1、常见规则网络 上图中显示了3中规则网络:全局耦合网络、最近邻耦合网络、星形耦合网络。下面我们来一一介绍。 1.1 全局耦合网络 如果一个网络中任意两个节点之间都有边直接相连,那么就称该网络为一个全局耦合网络,简称全耦合网络。 但在实际中一个大规模的全耦合网络维护起来非常困难,例如我们在学校,不可能所有人都认识,也不可能什么都不干,每天去认识人。这

weixin_42374938的博客 1万+

AUTOSAR RTE配置实战:从ECU分区到Task映射的完整指南

本文提供了一份AUTOSAR RTE配置的完整实战指南。从创建ECU分区、定义OS任务,到实现Runnable Entity与Task的精确映射,详细解析了每一步的操作要点与常见陷阱。文章结合配置工具界面,旨在帮助开发者高效完成RTE配置,确保系统实时性与数据一致性,是掌握AUTOSAR核心开发流程的实用参考。

weixin_29228203的博客 485

社会网络分析基线对比:ER随机网络、度保持随机化与BA模型实践

随机网络是图论与社会网络分析中的基础概念,常被用作结构分析的参照基线。研究网络指标时,若缺乏对比基准,密度、聚类系数等数值往往难以解释。通过生成Erdos-Renyi随机网络、对真实网络执行度保持随机化,以及构造BA无标度网络,可以构建多层次的对照框架。原理上,ER模型提供无结构基线,度保持随机化在固定度序列下消除额外结构,BA模型则模拟增长与优先连接机制。这种对比方法有助于厘清观测到的聚类系数、平均路径长度等指标究竟源于随机性还是真实机制,广泛应用于社交网络、引文网络和生物网络分析。本文用NetworkX

weixin_29055137的博客 232

WebRTC Qos优化杂记

本文是笔者对WebRTC Qos性能研究、优化的一些思考,希望对有兴趣的读者有一些启发。

sonysuqin的专栏 6677

Android HTTPS抓包证书配置全解:Proxyman实战避坑指南

HTTPS抓包本质是中间人(MITM)通信的可信建立过程,其核心在于客户端对代理根证书的信任链配置。在Android平台,自7.0起系统默认不信任用户安装的CA证书,必须通过Network Security Config显式声明trust-anchors,将Proxyman导出的PEM格式根证书纳入App级信任锚点。这一机制区别于iOS和桌面浏览器,导致大量开发者卡在‘证书已安装却无法解密’的误区。技术价值在于打通开发调试闭环:精准定位SSLHandshakeException、绕过证书固定、支持React

weixin_32175665的博客 650

用Python实现随机网络、度保持随机化与BA模型及对比分析

网络科学是理解复杂系统的重要工具,社会网络分析中,随机网络、度保持随机化与BA模型构成了三种基础参照系。随机网络可作为空白对照,用于回答完全随机情境下的网络形态;度保持随机化通过双重边交换法构建零模型,剥离结构机制与度分布效应;BA模型则模拟增长与优先连接机制,解释无标度网络中的枢纽节点过拟合现象。借助Python和NetworkX,可高效实现这三类模型,并对比度分布、聚类系数及平均路径长度等核心指标,从而判断真实网络中的聚集性、小世界特性是否显著异于随机期望。该方法在学术研究、用户增长分析、舆情网络识别等

weixin_32597009的博客 218

YOLOv10精度上不去?QAT量化感知训练全流程,INT8推理mAP只掉0.8%

普通PTQ量化虽简单,但无法应对YOLOv10的小目标特征和激活分布波动,导致精度暴跌。QAT通过“模拟量化误差+联合优化权重与量化参数”,让INT8模型精度接近FP16,同时速度提升1.8倍,完美适配实时检测场景(如安防监控、自动驾驶)。该流程已在工业级项目中验证,针对YOLOv10的优化策略(敏感层保护、小目标加权、分阶段训练)可直接迁移至其他YOLO系列(v8/v9),量化后精度损失均可控制在1%以内。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 916

社会网络分析的三种零模型:随机网络、度保持随机化与BA模型实战解析

现实世界中的关系网络,从社交好友到论文合著,都呈现出复杂的连接结构。当我们计算网络的聚类系数、平均路径长度等指标时,一个关键问题随之而来:这些观测值究竟反映了真实结构,还是随机因素造成的巧合?社会网络分析中的零模型(null model)正是回答这一问题的基准。随机网络(ER模型)提供最朴素的完全随机参照;度保持随机化则在固定每个节点关系数的情况下进行“精密洗牌”,是检验聚类系数、模块度等指标显著性的常用工具;BA模型则通过增长与优先连接机制解释无标度网络中超级节点的形成。理解这三种模型的原理与适用场景,可

weixin_29047919的博客 223

使用xlwings在Python中对Excel表格进行操作是非常方便的,可以实现自动化处理、批量数据处理等功能

使用xlwings在Python中对Excel表格进行操作是非常方便的,可以实现自动化处理、批量数据处理等功能。本篇文章主要介绍如何使用xlwings对Excel表格进行多行多列数据设置和操作,并给出相应的源代码。接着,我们可以对这个范围内的所有单元格进行操作,如设置字体颜色、填充颜色、对齐方式等。以上就是使用xlwings对Excel表格进行多行多列数据操作和设置字体颜色、填充色和对齐方式的全部内容。最后,我们可以将数据写入到单元格中,也可以从单元格中读取数据。在Excel中,可以通过。

BUG?不存在的! 713

DLMS/COSEM协议的理解体会

DLMS是通信协议,COSEM是电表建模规范。HDLC帧基本格式为0x7e......

一个bug是bug,多个bug能work 8312

随机网络构建

随机网络构建

weixin_46649908的博客 4065

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

社交网络模型

社交网络中常常参考的模型(更新中...)

just_you_57的博客 1760

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

社交网络分析(Social Network Analysis in Python)①

今天的网络是我们日常生活的一部分。 让我们学习如何使用网络在Python中可视化和理解社交网络 网络无处不在,道路网络,社交媒体上的朋友和关注者网络以及办公室同事网络。 他们在日常生活中发挥着重要作用,从传播有用信息到影响全国选举。 分析这些网络并根据这些网络做出明智决策的能力是一项对任何数据分析师都很重要...

weixin_33802505的博客 2608

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

【社会网络分析第1期】社会网络分析的节点测量和整体网络测量概念

点:可以是任何一个社会单位或者社会实体;关系:多类型、多向度表现;

1万+

ER随机图的度分布(转)

https://www.jianshu.com/p/7b2f65585438 20世纪50年代末由两位匈牙利数学家Erdos和Renyi建立的随机图理论(Random graph theory)被公认是在数学上开创了复杂网络拓扑结构的系统性分析。 其中Erdos是一位颇具传奇色彩的数学家,他一生巡回世界,每到一个地方就跟当地的数学家讨论研究,写文章。他先后发表过一千多篇数学论文,被称为...

weixin_33809981的博客 1856

network science学习笔记——随机网络(random network)和无标度网络(scale-free network)

课程3,4基于Barabási的《network science》第3到6章。 第3章的标题为随机网络(random networks)。我们首先有一个随机变量服从某一分布的概念,比如r.v.服从bionomial distribution(N个事件中成功的次数为k的概率)。在network里,r.v.是一个node的degree为k的概率,(p是指两个node之间有link的概率),那么需要假设node总数为N。显然network的结点总数在一开始固定(fixed)了,这一类模型就是静态模型(static

weixin_43957565的博客 7202

揭秘社会分析网络:洞察学派、理论与关键指标

揭秘社会分析网络:洞察学派、理论与关键指标

qq_51447436的博客 5688

ER随机网络模型

方式一:给定节点数N,固定连边数。每次随机选择一对节点并连边,重复M次。每次选择两个不同节点并且没有连接的节点对G(N,M),记作。特殊地,当p=0,则形成N个孤立的节点;p=1,则形成N阶全局耦合网络,对于无向网络,连边数为N(N-1)/2;方式二:给定N个节点,任意两个不同节点之间有一条连边概率固定为p,记作G(N,p),算法如下。随机选取一对没有边相连的不同节点,并在这对节点添加一条连边。(0,1),连边数取值位于区间(0,N(N-1)/2)若r

weixin_51570574的博客 3397

Python数据分析:网络分析(实战篇)

本文介绍了网络分析的基础知识和NetworkX的使用方法。网络分析在各行各业都有广泛的应用,比如社交网络分析、生物网络分析等。学会使用Python进行网络分析,可以为我们研究这些领域提供很好的帮助。

m0_72410588的博客 1794

社交网络真实数据集

该文搜集了一些复杂网络数据集

Jack的博客 4625
上一篇: NBA球员得分预测-基于线性回归、KNN回归、决策树回归、随机森林回归
下一篇: 深度学习——从入门到入坟,一篇文章理论结合实践带你掌握深度学习基本知识
等我不困
博客等级 码龄4年 239粉丝 8原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值