医美熬过了至暗时刻

作者 | 墨羽枫香
数据支持 | 勾股大数据(www.gogudata.com)
医美熬过了至暗时刻
去年7月至今,多数医药投资者都经历过失望、煎熬、辛酸,甚至到绝望的心路历程。
 
中证医疗连续下跌了10个月以上,累计跌幅高达46%,回调深度超过2008年全球金融危机。具体到个股,更是惨不忍睹,期间最大回撤超60%的有58家,超50%的有164家。
 
医美熬过了至暗时刻
大医药中,创新药、CXO、医疗服务、疫苗等细分明星赛道龙头都出现了“崩盘式”暴跌。诸如,恒瑞医药最大回撤近70%,通策医疗回撤67%,智飞生物回撤56%,康龙化成暴跌51%。
 
而医美细分赛道,整体受灾相对最轻。爱美客最大回撤42%,贝泰妮回撤34%,华熙生物回撤59%,而珀莱雅更是回撤仅不足10%。
 
医美熬过了至暗时刻
今年,中证医疗追随大盘同样继续暴跌23%,并超过上证指数-15%。然而医美赛道明显抗跌,爱美客下跌12%,贝泰妮下跌3%,华熙生物下跌18.8%,珀莱雅下跌8%。
 
医美巨头相较于大医药与大盘呈现更强更足的韧性。市场究竟在演绎什么逻辑?
 

01

商业模式

大医药行业持续暴跌,主要逻辑是估值与业绩的戴维斯双杀。
 
在去年7月之前,医药行业经历了长达将近2年的极致抱团,中证医疗PE倍数一度去到了108倍,逼近2015年6月最高的130倍。不论是绝对值,还是历史相对值,泡沫都极大。物极必反,医药整体估值快速回落,跌到现在的34.4倍,较最高回撤68%。
 
医美熬过了至暗时刻
最近8年,中证医疗平均估值水平为60倍,而现在仅为34.4倍,远远低于前者。可见,市场这波狠杀不只是挤泡沫,不少细分领域基本面逻辑也一定程度上遭遇了动摇。否者,不太可能如此极端杀估值的。
 
在我之前的文章也分析过,大医药行业面临重大变局。从最上层的宏观维度来讲,国家要实践双循环战略(重点是内循环),重点是让消费成为拉动经济增长的主要增长引擎。
 
而人们的消费力和消费意愿又明显遭到三座大山的挤压——住房、教育、医疗,那么改革大方向就是破除,甚至移走三座大山(虽然过程会比较长)。其中,医疗改革大方向是过渡到公共服务属性,而不是继续容忍高度产业化,医药公司暴力赚钱的时代或许已经悄然过去。
 
过去,人们的医疗负担很重,包括自己掏钱和医保基金掏钱(国家财政)——中国卫生总费用从2000年的4586亿元增长至2019年的65196亿元。不足20年,医疗费用翻了13倍,年复合增长15%,远超GDP的增速。并且,这几年受到新冠疫情冲击以及宏观经济下行压力,财政收入会有一定程度的下滑。
 
总之,为财政降压、患者减负就成为医疗改革的主线。比如,集采常态化,应采尽采,深度与广度,持续超预期,成为改变创新药行业投资的杀手锏。
 
医美赛道不一样。当前,爱美客滚动市盈率(PE-TTM)为95倍,贝泰妮为85倍,华熙生物为73.4倍,珀莱雅为62倍。这些龙头PE相较于中证医疗的估值倍数要高很多,这又是为什么呢?
 
杀估值的时候,关键的基本面逻辑没有动摇。
 
医美虽然归类于大医药行业,有一定医疗属性,但同时又具备很强的消费属性。大家都知道,消费型公司,市场给予的估值都比较慷慨,背后是商业模式尚佳。
 
医美化妆品解决的是消费者爱美的需求。而这种需求几乎是永续的,全民级消费,且一旦认定这个品牌,养成消费习惯,一般情况下就会终身复购。
 
从投资底层逻辑来看,只有自由现金流持续保持较高增长才能获得高估值。基础概念看,(股权)自由现金流=税后净利润+摊销折旧一资本性支出一营运资本追加额一债务本金偿还+新发行债务。
 
医美化妆品基本都属于不需要什么投资,没有什么负债利息(很少短期借款和长期借款),还可以一手交钱一手交货,赚取大量自由现金流的行业(净利润≈自由现金流)。从股票定价逻辑来看,这算是非常好的商业模式。
 
而创新药、医疗器械、医疗服务等众多医药细分领域,并没有很强的消费属性,在遭遇政策持续的改革预期之下,基本面有一定程度上的动摇,而医美几乎不受影响与冲击。从内循环大战略上看,医美消费也是社零消费非常重要的领域,政策上应该多给予支持才对,而不是敲打。
 
02

基本盘

 
在大医药行业投资如此悲观的大背景下,市场当前仍然给医美几大巨头超60倍以上的估值。凭什么?
 
从行业逻辑上看,医美市场规模持续保持较高增长,且受到宏观经济下行影响相对要小一些,韧性会比较强。
 
2020年,新冠疫情第一年。中国化妆品零售总额为3400亿元,仍然同比大幅增长13.64%,远超社会零售总额同比-3.9%。2021年,化妆品零售总额为4026亿元,同比增长18.41%,超社会零售总额的12.5%。
 
医美熬过了至暗时刻
从2011-2021年,中国化妆品零售额从1103亿元猛增至4026亿元,年复合增速13.82%,超过社会零售总额的9.38%,超过GDP的8.89%。此外,在2008年次贷危机,医美化妆品下降幅度与速度要低于整体GDP和社零总消费,而经济复苏周期,又要相对明显快于后两者。
 
很显然,医美化妆品受到宏观经济周期要小一些。比如今年,各行各业下行压力较大,但医美行业要相对要抗压一些。这从上市公司的财报中能看出一些端倪来。
 
一季度,爱美客营收4.31亿元,同比增长66.07%,归母净利润为2.8亿元,同比增长64.03%。销售毛利率为94.45%,创下历史最高记录,销售净利率为65.03%,略低于去年全年的66.12%,处于绝对高位水平。期间,销售费用5390.8万元,同比大增94.59%,占总营收的比例为12.5%,而去年末为10.8%。销售费用率上升,大概率是为了推广新品濡白天使。机构预测,该新品未来出货量将超过10万支,占总营收的10%以上。
 
一季度,贝泰妮营收8.09亿元,同比大增59.32%,归母净利润为1.46亿元,同比大增85.74%,均要快于去年业绩增速水平(营收增52.57%,归母净利润增58.77%)。
 
据Euromonitor数据显示,薇诺娜在皮肤学级护肤品国内市场排名稳居第一,市场份额较2020年提升约2%,相较2020年,薇诺娜的国内市场份额接近第二、三名的总和。
 
2015-2020年,中国皮肤学级护肤品市场规模从60亿元增长至166亿元,年复合增速高达24%,远高于护肤品以及化妆品整体增速。并且,未来几年,Euromonitor预计将不低于20%的增速增长,到2024年达到431亿元。
 
医美熬过了至暗时刻
皮肤学级护肤品属于功能性护肤品大类领域。华熙生物最近几年也明显发力、转型该赛道。2019年-2021年,华熙生物功能性护肤品营收分别为6.34亿元、13.46亿元、33.19亿元,同比分别增长119%、112%、147%。
 
与贝泰妮王炸单品牌战略不同,华熙生物一开始就是多品牌战略,构建了润百颜、夸迪、米蓓尔、BM肌活,分别切入玻尿酸护肤产品、抗初老产品、敏感肌产品、活性成分功效产品。其中,夸迪卡位高端,价格带为500-1500元,润百颜卡位中高端,价格带为200-500元,拥有长期增长空间。
 
医美熬过了至暗时刻
几千亿的化妆品盘子,大众美妆市场仍占主导,但中高端增速明显快于前者。2017-2021年,中高端占比从21.3%提升至26.3%,幅度为5%。
 
医美熬过了至暗时刻
在大众美妆市场,占比73.7%,也会有机会。珀莱雅作为国货经典,盈利能力、确定性以及战略调整能力偏强。这波大医药崩盘,珀莱雅是回撤幅度最小的医美龙头了。
 
一季度,珀莱雅营收12.54亿元,同比增38.5%,归母净利润为1.58亿元,同比增44.16%,业绩整体增速明显加快。同期,毛利率和净利率分别为67.57%、13.5%,均稳步提高,盈利能力增强。
 
医美熬过了至暗时刻
综上分析,医美化妆品行业赛道良好,未被宏观政策(诸如集采)所改变,叠加龙头们业绩的持续高速增长,亦是市场当前仍然愿意给予60倍以上估值的重要因素。
 
03

尾声

机构掌握着市场的话语权。先看北向资金,珀莱雅(市值88.57亿,股份比例为22.66%)、爱美客(22.15亿,2.16%)、贝泰妮(12.06亿,2.16%)、华熙生物(3.44亿,0.55%)。整体行业持有水平在稳步提升,并没有随着今年外资大幅流出而流出。
 
医美熬过了至暗时刻
再看国内公募机构一季度持仓,爱美客(市值73.63亿,股份比例为7.25%,大幅加仓)、贝泰妮(25.4亿,3.2%,小幅加仓)、珀莱雅(7亿,1.8%,小幅减仓)、华熙生物(0.76亿,0.12%,大幅减仓)。可见,公募机构在最近几个季度调仓较为明显,爱美客加仓多,华熙生物则疯狂减仓,与外资对待医美龙头仓位有较大不同。整体看,机构对待医美化妆品的态度仍然是OK的,并不像创新药等细分领域被大幅抛售。
 
医美熬过了至暗时刻
不可否认,医美行业整体仍然会受到宏观经济下行带来的冲击。今年一季度,医美龙头增速尚可,但接下来一年半载应该也会有影响,只是相对抗压一些。此外,当前布局还要结合A股大盘是否企稳、个股估值状态以及个人交易策略来综合考虑,并没有标准答案。诸如,珀莱雅当前PE为62倍,位于最近5年估值中位数以上,并没有被低估,对于保守的投资者,是可以继续等待的。
 
医美熬过了至暗时刻
不过,有一点可以确定的是,一旦大盘以及大医药行业整体回暖走估值修复逻辑的时候,医美不会缺席,应该还会有相对超额的回报率。
转自:https://mp.weixin.qq.com/s/SmVkdgxgqkSKoyH4gGm2BQ

合肥:层层加码是懒政怠政,疫区人员绝不拒之门外!

原创:木蹊

来源:木蹊说(ID:Frie_news

01

 

“要力戒层层加码,层层加码看似履职尽责,实则是懒政怠政。”

哪个自媒体现在那么大胆,敢写这样的话?

你可能想不到,这番话,出自合肥市委书记之口。

合肥:层层加码是懒政怠政,疫区人员绝不拒之门外!

我是被震惊到了。

很早之前,我提了一嘴“层层加码”是一种懒政。

后来怕得罪的范围太大,自己把文章删了。

合肥:层层加码是懒政怠政,疫区人员绝不拒之门外!

合肥:层层加码是懒政怠政,疫区人员绝不拒之门外!

现在,很多地方都风声鹤唳,一人阳性,全楼拉走,封村堵路,进屋消杀…….

想回老家,社区立马劝诫你别回来。想看亲人,求爷爷哭奶奶下跪都没用。

但现在,合肥却树防疫之新风,敢为天下先!

5月12日下午,合肥开了一个会,会上合肥市委讲出了这几句话:

1 不管是“来的客人”,还是“返的家人”,合肥都诚挚欢迎,绝不拒之门外。

2 希望来自中高风险和其他疫情发生地人员,无论是否提前报备,都可随时光明正大地来,切不可翻越高速护栏、藏匿于车子后备厢、伪造行程码等。

3 要力戒层层加码。层层加码看似履职尽责,实则是懒政怠政。

4 各县(市区)、开发区出台疫防政策,需经市指挥部审查把关,既审查合法性,也审查合理性,坚决防止地方“土政策”毁了全市“一盘棋”,引发次生问题。

5 有个别民办寄宿制学校为防疫“自求平安”,仅让寄宿生每两周出校门一次,此举明显不妥,已立即责成纠正。

我还能说什么呢。

如此梦幻,如此真切。

如此高压时期,能说出“层层加码就是懒政”的话来,我还以为在看电影《焦裕禄》的cut。

02

《焦裕禄》里有这样一个桥段。

救灾的时候,焦裕禄找到吴县长,说:

“老吴,救灾工作牵扯到千家万户,连着全县人民的心,刻不容缓啊,我们的工作不是做给上面看的,群众满意才是唯⼀的标准。”

合肥:层层加码是懒政怠政,疫区人员绝不拒之门外!

吴县长不为所动,不屑地说:

“群众有时觉悟不高,目光短浅,往往只看到了一时的温饱,看不到长远和未来。”

焦裕禄质疑道:“温饱问题都解决不了,还谈得上什么今后和将来?”

吴县长:老焦,你这话危险啊…….饿死几个人算什么,关键是我们不能在政治上犯错误。

合肥:层层加码是懒政怠政,疫区人员绝不拒之门外!

焦裕禄听罢,愤怒离去。

现在的合肥,有电影里的那个味了!

层层加码就是懒政怠政,这是一句实话,一句经得起实践检验的话!

在当下,能说出这样的话来,价值千金。

在当下,能张开怀抱欢迎四海之朋,气魄不凡。

在当下,能主动审查防疫措施合法性和合理性,令人敬仰。

合肥:层层加码是懒政怠政,疫区人员绝不拒之门外!

我一直都说,捂住嘴巴是没有用的,人民会用双脚投票。

现在,每天都有人在上海机场排队离开,很多人的失望之情溢于言表。

没有离开的,也正酝酿怎么离开,要不要离开。

这种情绪,和上海这一个月来的魔幻新闻,息息相关。

合肥:层层加码是懒政怠政,疫区人员绝不拒之门外!

一些令人愤怒的现象,清走病毒的同时,也清走了世界英才对上海的信任和好感。

但合肥却交出了不一样的成绩单。

03 

在很多地方出现一例阳性,就隔绝交通的时候。

合肥市在疫情期间,9条高速、36条国省干线公路从未停摆,而且沿路还免费给司机们准备免费饭菜、热水。

“不是什么好菜,但肯定让你们吃饱。”

合肥:层层加码是懒政怠政,疫区人员绝不拒之门外!

不少外地的货车司机,赞不绝口:

“我跑了大半个中国,合肥是最好的一个。核酸免费做,态度还都特别热情,结果出得特别快,给大合肥点赞。”

 

不仅如此,合肥还给每个路过的货车司机送上“抗疫包”。

 

里面有1包口罩,1瓶水,1碗泡面,4个面包,2罐八宝粥,3盒自热饭,1盒自测试剂。

很多市民也竖起了大拇指,称赞合肥的温度。

合肥:层层加码是懒政怠政,疫区人员绝不拒之门外!

很多地方,都歧视阳性患者。

但合肥没有。

4月11号,一位临产孕妇,因疫情被上海的医院拒接,只能深夜从上海回乡。

 

面对新生命,合肥没有拒绝,立马开通了绿色通道!

 

安排急救专车在服务区等候孕妇,全程闭环,最终宝宝顺利出生。

 

合肥:层层加码是懒政怠政,疫区人员绝不拒之门外!

六安一位身患癌症的女士,因静态管理,药物滞留在合肥无法送达。

 

当听到报警消息,合肥警方马不停蹄,立刻查到药品所在的物流地,众人不怕麻烦,在数千件包裹中,将药品找出。

 

然后一路风驰电掣,把药就送到了女士家里。

全程只花了3小时。

 

合肥:层层加码是懒政怠政,疫区人员绝不拒之门外!

合肥,不是宰相合肥天下瘦。

而是合天下之意,肥万民之实!

合肥:层层加码是懒政怠政,疫区人员绝不拒之门外!

04

好的地方,人才自然会聚集。

好的地方,一定会有数据说话。

这些年,合肥一直都是全国为数不多的经济正增长城市。

合肥:层层加码是懒政怠政,疫区人员绝不拒之门外!

因为营商环境和投资环境优越,合肥还被坊间誉为“风投之城”。

2008年,京东方准备扩大生产项目,不知放在合肥还是深圳。

当时京东方的董事长王东升飞深圳,副董事在合肥,就看谁的诚意大。

最后合肥这边表态:就是砸锅卖铁,也要做成这件事!

而千里之外的深圳,王东升却被深圳领导灌得酩酊大醉……

一夜之后,王东升飞往合肥,慷慨陈词:

“我所到过的每个城市,书记和市长都待我如上宾。然而,到了下面的执行单位,力度明显下降,就像拳头打在了棉花上。只有合肥,做到了这样坚定而执着地上下一心。”

为了给京东方办厂筹钱,合肥把在建的地铁都暂停了,全市都做好了发不下工资的准备。

合肥:层层加码是懒政怠政,疫区人员绝不拒之门外!

事实证明,合肥是有前瞻性的。

京东方落户后,带动了合肥基板玻璃、偏光片、模组方面的100多家上下游配套企业,超千亿的投资项目落地……

数年之后,合肥又抓住了新能源的风口,成了世界级新能源汽车产业聚集地…….

合肥:层层加码是懒政怠政,疫区人员绝不拒之门外!

人世间,有强制隔离,也有温暖相伴。

我承认我不爱写正能量,更不喜欢去歌颂功德。

但今日的合肥,值得!

-完

转自:https://mp.weixin.qq.com/s/6hwXn6Pk3pHSw-9BYwuwxQ

社区发现之标签传播算法(LPA)

在Graph领域,社区发现(Community detection)是一个非常热门且广泛的话题,后面会写一个系列,该问题实际上是从子图分割的问题演变而来,在真实的社交网络中,有些用户之间连接非常紧密,有些用户之间的连接较为稀疏,连接紧密的用户群体可以看做一个社区,在风控问题中,可以简单的理解为团伙挖掘。

目前的社区发现问题分为两大类:非重叠社区发现和重叠社区发现。非重叠社区发现问题描述的是:一个网络中,每个节点均只能属于同一个社区,这意味这社区和社区之间是没有交集的。在非重叠社区发现算法中,有不同种类的解法:
1)基于模块度的社区发现算法:基本思想是通过定义模块度(Modularity)来衡量一个社区的划分是不是相对比较好的结果,从而将社区发现问题转化为最大化模块度的问题进行求解,后续的Louvain算法会讲到。
2)基于标签传播的社区发现算法:基本思想是通过标记节点的标签信息来更新未标记节点的标签信息,在整个网络中进行传播,直至收敛,其中最具代表性的就是标签传播算法(LPA,Label Propagation Algorithm),也是本文要讨论的算法。
注意:在团伙挖掘的实际应用的过程中,不要寄希望于优化社区发现算法提高准确性,可能永远都解决不了问题,因为关系的形成在实际中太过于复杂,我们更多的关注构图关系的筛选、清洗、提纯,以及分群后进一步加工处理
 

一、LPA概述

Label Propagation Algorithm,也称作标签传播算法(LPA),是一个在图中快速发现社群的算法,由Raghavan等人在2007年于论文《Near linear time algorithm to detect community structures in large-scale networks》中提出。在 LPA 算法中,节点的标签完全由它的直接邻居决定。标签传播算法是一种基于标签传播的局部社区发现算法,其基本思想是节点的标签(community)依赖其邻居节点的标签信息,影响程度由节点相似度决定,并通过传播迭代更新达到稳定。

1、算法的思想

在用一个唯一的标签初始化每个节点之后,该算法会重复地将一个节点的标签社群化为该节点的相邻节点中出现频率最高的标签。当每个节点的标签在其相邻节点中出现得最频繁时,算法就会停止。该算法是异步的,因为每个节点都会在不等待其余节点更新的情况下进行更新。
该算法有5个步骤:
1)初始化网络中所有节点的标签,对于给定节点x,Cx(0)=x。
2)设置 t=1。
3)以随机顺序排列网络中的节点,并将其设置为x。
4)对于特定顺序选择的每个x∈X,让Cx(t)=f(Cxi1(t),…,Cxim(t),…。f这里返回相邻标签中出现频率最高的标签。如果有多个最高频率的标签,就随机选择一个标签。
5)如果每个节点都有其邻居节点中数量最多的标签,则停止算法,否则,设置t=t+1并转到3。
这是一个迭代的计算过程且不保证收敛,大体的思路就是每个人都看看自己的邻居都在什么社区内,看看频率最高的社区是啥,如果和自己当前的社区不一样,就把这个最高频社区当成是自己的社区,然后告诉邻居,周而复始,直到对于所有人,邻居们告诉自己的高频社区和自己当前的社区是一样的,算法结束。所以说对于这个算法,计算复杂度是O(kE),k是迭代的次数,E是边的数量。大家的经验是这个迭代的次数大概是5次就能近似收敛,以实现精度和性能的平衡,能发现这个数字和六度分隔理论里面的数字也差不多。
我们可以很形象地理解算法的传播过程,当标签在紧密联系的区域,传播非常快,但到了稀疏连接的区域,传播速度就会下降。当出现一个节点属于多个社群时,算法会使用该节点邻居的标签与权重,决定最终的标签,传播结束后,拥有同样标签的节点被视为在同一群组中。
下图展示了算法的两个变种:Push 和 Pull。其中 Pull 算法更为典型,并且可以很好地并行计算:
社区发现之标签传播算法(LPA)
我们不再继续深入,看完上图,你应该已经理解了算法的大概过程。其实,做过图像处理的人很容易明白,所谓的标签传播算法,不过是图像分割算法的变种,Push 算法是区域生长法(Region Growing)的简化版,而 Pull 更像是分割和合并(divide-and-merge,也有人称 split-merge)算法。确实,图像(image)的像素和图(graph)的节点是十分类似的。

2、用于图聚类

图聚类是根据图的拓扑结构,进行子图的划分,使得子图内部节点的链接较多,子图之间的连接较少。依赖其邻居节点的标签信息,影响程度由节点相似度决定,并通过传播迭代更新达到稳定。
参考原始论文
https://arxiv.org/abs/0709.2938
https://arxiv.org/pdf/0709.2938.pdf
在算法开始之前为每个节点打上不同的标签,每一个轮次随机找到一个节点,查看其邻居节点的标签,找到出现次数最多的标签,随后将该节点改成该标签。当相邻两次迭代后社区数量不变或社区内节点数量不变时则停止迭代,下面看图解过程
初始化
社区发现之标签传播算法(LPA)
第一轮迭代
随机挑选一个节点(如c),发现其相邻节点有abe,三者出现次数相同,故随机选一个(如a),那么c点的标签被a替代。
社区发现之标签传播算法(LPA)
第二轮迭代
随机挑选一个节点(如b),发现其相邻节点均为a,故将b换成a,重复数次,最终的结果如图所示
社区发现之标签传播算法(LPA)
我们再看一个例子,比如下图:
社区发现之标签传播算法(LPA)
分组后的结果如下,我们得到了独立非重的groupid,这个结果其实是很难在实际场景中应用的,那么我们就的结果就没有意义了么?这个可以帮我们定位到浓度很高的群体,然后再加上部分属性标签,就能轻而易举的识别出问题黑产了。
社区发现之标签传播算法(LPA)

3、用于半监督

该算法也可以作为半监督的分类算法,标签传播时一种半监督机器学习算法,它将标签分配给以前未标记的数据点。在算法开始时,数据点的子集(通常只占很小一部分)有标签(或分类)。在整个算法过程中,这些标签会传播到未标记的点。在标签传播过程中,保持已标注数据的标签不变,使其像一个源头把标签传向未标注数据。
最终,当迭代过程结束时,相似节点的概率分布也趋于相似,可以划分到同一个类别中,从而完成标签传播过程,边的权重越大,表示两个节点越相似,那么label越容易传播过去。我们定义一个NxN的概率转移矩阵P:
社区发现之标签传播算法(LPA)
下面的图来看看传播过程
社区发现之标签传播算法(LPA)
传播结束后的结果如下:
社区发现之标签传播算法(LPA)
LPA使用已标记节点的标签作为基础,并尝试预测未标记节点的标签。然而,如果最初的标签是错误的,这可能会影响标签的传播过程,错误的标签可能会被传播。该算法是概率性的,并且发现的社区可能因执行的不同而不同。
 

二、算法代码实现

这个算法比较简单,有比较多的实现方式,最方便的还是networkx这个库,并用里面的一个简单的数据集进行试验。

1、数据集介绍

空手道数据集是一个比较简单的图数据集,下面我们看看其中的边和节点,后面应用这个数据集进行试验。
import networkx as nxG = nx.karate_club_graph() # 空手道G.nodes()NodeView((0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33))
G.edges() EdgeView([(0, 1), (0, 2), (0, 3), (0, 4), (0, 5), (0, 6), (0, 7), (0, 8),(0, 10), (0, 11), (0, 12), (0, 13), (0, 17), (0, 19), (0, 21), (0, 31), (1, 2), (1, 3), (1, 7), (1, 13), (1, 17), (1, 19), (1, 21), (1, 30), (2, 3), (2, 7), (2, 8), (2, 9), (2, 13), (2, 27), (2, 28), (2, 32), (3, 7), (3, 12), (3, 13), (4, 6), (4, 10), (5, 6), (5, 10), (5, 16), (6, 16), (8, 30), (8, 32), (8, 33), (9, 33), (13, 33), (14, 32), (14, 33), (15, 32), (15, 33), (18, 32), (18, 33), (19, 33), (20, 32), (20, 33), (22, 32), (22, 33), (23, 25), (23, 27), (23, 29), (23, 32), (23, 33), (24, 25), (24, 27), (24, 31), (25, 31), (26, 29), (26, 33),(27, 33), (28, 31), (28, 33), (29, 32), (29, 33), (30, 32), (30, 33),(31, 32), (31, 33), (32, 33)])

2、自己实现LPA算法

import randomimport networkx as nximport matplotlib.pyplot as plt # 应该封装成类的形式 def lpa(G): ''' 异步更新方式 G:图 return:None 通过改变节点的标签,最后通过标签来划分社区 算法终止条件:迭代次数超过设定值 ''' max_iter_num = 0 # 迭代次数 while max_iter_num < 10: max_iter_num += 1 print('迭代次数',max_iter_num) for node in G: count = {} # 记录邻居节点及其标签 for nbr in G.neighbors(node): # node的邻居节点 label = G.nodes[nbr]['labels'] count[label] = count.setdefault(label,0) + 1 #找到出现次数最多的标签 count_items = sorted(count.items(),key=lambda x:-x[-1]) best_labels = [k for k,v in count_items if v == count_items[0][1]] #当多个标签最大技术值相同时随机选取一个标签 label = random.sample(best_labels,1)[0] # 返回的是列表,所以需要[0] G.nodes[node]['labels'] = label # 更新标签 def draw_picture(G): # 画图 node_color = [float(G.nodes[v]['labels']) for v in G] pos = nx.spring_layout(G) # 节点的布局为spring型 plt.figure(figsize = (8,6)) # 图片大小 nx.draw_networkx(G,pos=pos,node_color=node_color) plt.show() if __name__ == "__main__": G = nx.karate_club_graph() #空手道数据集 # 给节点添加标签 for node in G: G.add_node(node, labels = node) #用labels的状态 lpa(G) com = set([G.nodes[node]['labels'] for node inG]) print('社区数量',len(com)) draw_picture(G)
迭代次数 1迭代次数 2迭代次数 3迭代次数 4迭代次数 5迭代次数 6迭代次数 7迭代次数 8迭代次数 9迭代次数 10社区数量 3
代码运行结果:
社区发现之标签传播算法(LPA)

3、调包实现LPA算法

networkx集成了这个算法,可以直接调用
import matplotlib.pyplot as pltimport networkx as nxfrom networkx.algorithms.community import asyn_lpa_communities as lpa
# 空手道俱乐部G = nx.karate_club_graph()com = list(lpa(G))print('社区数量',len(com))
com [{0, 1, 2, 3, 7, 8, 9, 11, 12, 13, 17, 19, 21, 30},{4, 5, 6, 10, 16},{14, 15, 18, 20, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 33}]

# 下面是画图pos = nx.spring_layout(G) # 节点的布局为spring型NodeId = list(G.nodes())node_size = [G.degree(i)**1.2*90 for i in NodeId] # 节点大小
plt.figure(figsize = (8,6)) # 设置图片大小nx.draw(G,pos, with_labels=True, node_size =node_size, node_color='w', node_shape = '.' )
'''node_size表示节点大小node_color表示节点颜色with_labels=True表示节点是否带标签'''color_list = ['pink','orange','r','g','b','y','m','gray','black','c','brown']
for i in range(len(com)): nx.draw_networkx_nodes(G, pos, nodelist=com[i], node_color = color_list[i+2], label=True)plt.show()
社区发现之标签传播算法(LPA)

三、分群结果可视化

在可视化方面,确实R语言要强,大家有时间可以学习下,活儿全还是有点用处的,我们这里用R的igraph包来展现一些社区发现的结果。
library('igraph')karate <- graph.famous("Zachary")community <- label.propagation.community(karate)# 计算模块度modularity(community)0.3717949
#membership查看每个点的各自分组情况。membership(community)1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 2 1 1 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2
plot(community,karate)
下面为两次跑的结果,可以看到,两次的结果并不一样,这个就是震荡效应导致的结果
社区发现之标签传播算法(LPA)
换一个对比下看看
community <- walktrap.community(karate, weights = E(karate)$weight, steps = 8, merges =TRUE, modularity = TRUE)plot(community,karate)
社区发现之标签传播算法(LPA)
可以用更复杂的数据,画出来还挺好看的,数据集的下载地址:http://snap.stanford.edu/data/egonets-Facebook.html
library(igraph)library(d3Network)igraphDat <- read.graph(file = "/Users/wuzhengxiang/Documents/PPT模板/0.edges", directed = FALSE)
## Simplify to remove duplications and from-self-to-self loopsigraphDat <- simplify(igraphDat, remove.multiple = TRUE, remove.loops = TRUE )
## Give numbersV(igraphDat)$label <- seq_along(V(igraphDat))
## Average path length between any two given nodes(averagePathLength <- average.path.length(igraphDat))
## Community structure detection based on edge betweennesscommunityEdgeBetwn <- edge.betweenness.community(igraphDat)
## Check the transitivity of a graph (probability that the adjacent vertices of a vertex are connected)(transitivityDat <- transitivity(igraphDat, type = "localaverage", isolates = "zero") )
## Set the seed to get the same resultset.seed("20200513")
## Add community indicating background colorsplot(igraphDat,vertex.color = communityEdgeBetwn$membership, vertex.size = log(degree(igraphDat) + 1),mark.groups = by(seq_along(communityEdgeBetwn$membership), communityEdgeBetwn$membership, invisible) )
## Annotatetitle("Stanford Facebook data", sub = "http://snap.stanford.edu/data/egonets-Facebook.html" )text(x = -1, y = -1, labels = sprintf("Average path length: %.2fnTransitivity: %.2f", averagePathLength, transitivityDat) )
社区发现之标签传播算法(LPA)
社区发现之标签传播算法(LPA)
社区发现之标签传播算法(LPA)

四、算法优缺点

作为一个比较简单的算法,其优缺点也是特别的明显。

1、算法优点

算法逻辑简单,时间复杂度低,接近线性复杂度,在超大规模网络下会有优异的性能,适合做社区发现的baseline。
无须定义优化函数,无须事先指定社区个数,算法会利用自身的网络结构来指导标签传播。

2、算法缺点

雪崩效应:社区结果不稳定,随机性强。由于当邻居节点的社区标签权重相同时,会随机取一个。导致传播初期一个小的错误被不断放大,最终没有得到合适的结果。尤其是异步更新时,更新顺序的不同也会导致最终社区划分结果不同。
社区发现之标签传播算法(LPA)
上图中展示了一次标签传播算法的流程:初始化阶段,每个节点都以自己作为社区标签。比如a的社区就是a,c的社区就是c。当进入传播阶段,节点c的邻居节点共4个:a,b,c,d。而社区标签也是4个:a,b,c,d,假设随机取了一个a。
如果是异步更新,此时b,d,e三个节点的邻居节点中社区标签均存在2个a,所以他们都会立马更新成a。如果c当时随机选择的是b,那么d,e就会更新成b,从而导致b社区标签占优,而最终的社区划分也就成b了。
震荡效应:社区结果来回震荡,不收敛,当传播方式处于同步更新的时候,尤其对于二分图或子图存在二分图的结构而言,极易发生。
社区发现之标签传播算法(LPA)
上图中展示了一次二分图中标签传播算法的流程,在同步更新的时候,每个节点依赖的都是上一轮迭代的社区标签。当二分图左边都是a,右边都是b时,a社区的节点此时邻居节点都是b,b社区的节点此时邻居节点都是a,根据更新规则,此时a社区的节点将全部更新为b,b社区的节点将全部更新为a。此时算法无法收敛,使得整个网络处于震荡中。
转自:https://mp.weixin.qq.com/s/DgCK9Ea-Qf00KyB1W8x8Iw

读书:刘勃《天下英雄谁敌手》

邓广铭先生有个著名的说法,学习中国古代史,要有四把钥匙:年代、地理、职官、目录。

用这四把钥匙去开历史的门,不必入门,外面张两眼就足以意识到一个问题:个人真的是很渺小的

曹操篇

《三国志》称,曹操的父亲来历不明,给大宦官曹腾做养子,所以改姓了曹。

东汉皇帝倚重宦官,和士族―官僚之间,矛盾很尖锐。

曹腾就是一个比较善于和士人合作的宦官,相应的回报,一是他留在史书中的形象,相当正面;二是获得了巨额的财富

曹操虽然出生于社会顶层,但他们家,又是属于在顶层里被歧视的家族

袁绍比曹操年长一些,血统高贵,相貌英俊,天生自带明星的气场。

中平元年(184年)黄巾之乱爆发,给曹操创造了升迁的机会

中平五年(188年),汉灵帝组建了一支新的禁军保卫自己居住的西园,一口气任命了八个校尉。和曹操有杀叔之仇的宦官蹇硕排名第一,曹操的老朋友袁绍第二,曹操本人为典军校尉,排名第四

讨董大业掀开大幕,汝南袁氏的门生故吏满天下,在诛杀宦官的过程里又立下卓越功勋的袁绍,理所当然成为盟主

袁绍“有姿貌威容,能折节下士”,但吸引力大致也只到士人为止,更基层更野蛮但也更强横的力量,要他们对自己真心归附,袁绍就很难做到。曹操作为一个轻佻通脱的宦官之后,就接地气得多,和这些人打交道,曹操远比袁绍有凝聚力。

出身寒微的刘备或孙家父子,要收获同样的人才,就艰辛得多。

你同时吸纳来自各阶层的力量,如果不能有效整合,他们彼此冲突,内部矛盾就足以把你撕扯得粉身碎骨。

曹操屠杀徐州,在军事上是做了一个颇具远见的选择:他的主力西向与吕布作战,东面却始终是安全的,徐州的领导者不管是陶谦还是后来的刘备,这段时间里都没有给他制造任何麻烦。如果徐州再多几十万饥民,他们疯狂地扑向兖州,一切也许都会有所不同。

袁绍向曹操索要妻小为人质,自然是说明他对曹操也并非完全信任。两个人之间裂痕加大,则是因为曹操把汉献帝接到了自己的地盘

袁绍有所顾虑。具体说是两点:第一,皇帝未必很容易控制。现在皇帝身边的官员,一些是当初跟随朝廷西迁的老臣,如弘农杨氏的太尉杨彪,出身高贵;西北军恐怖的战斗力。如果不能有效压制这些人,那就是请神容易送神难,将来要有个大事小情还要向皇帝请示,真是自找麻烦。第二,袁绍和汉献帝之间可以说是有宿怨。

曹操比袁绍还有一个巨大的优势,他对皇帝身边的动向,比袁绍更熟悉,这当中发挥关键作用的一个人物,叫董昭。

迁都许县之后,汉献帝巡幸了曹操的军营,任命曹操为大将军,封武平侯。不久后又给袁绍下了一份诏书,责怪他拥有如此广大的土地和众多的士兵,却只是为自己网罗党羽,而置天子于不顾。

曹操周围,至少埋着八颗雷。

第一颗雷:关中的西北军

第二颗雷:徐州的刘备

第三颗雷:汝南的袁氏故吏与黄巾

第四颗雷:南阳张绣

第五颗雷:荆州刘表

第六颗雷:江东孙策

第七颗雷:汉献帝身边,以董承为代表的东归将领

第八颗雷:曹营里心向袁绍的人

绍为人政宽,百姓德之。河北士女莫不伤怨,市巷挥泪,如或丧亲。(《献帝春秋》)

袁绍尊重门阀士族的特权,也没有对河北地区进行敲骨吸髓的社会动员。但是,正因为没有把各色人等驱逐出舒适区,袁绍也就无法充分利用自己所拥有的巨大资源。河北士民尽管相比曹操更喜欢袁绍,但他们作为代价,最终为曹操所做的贡献,却远远大于为袁绍的。

建安十三年底的赤壁之战,那一年曹操就已经五十四岁,曹操此生再也无缘长江以南。

曹操发布了两道著名的“令”。

一道是所谓“求贤令”,曹操提出“唯才是举”的主张,认为一个人哪怕品性恶劣,但只要有解决具体问题,完成实际工作的能力,一样可以提拔任用。对世家大族的一种挑衅,企图打破士族对选官途径的垄断,赢得寒门人士的支持。

一道即《述志令》,或称《让县自明本志令》,曹操拒绝了朝廷加封他四县三万户的好意,并强调自己绝没有“不逊之志”,但同时又宣称,要自己放弃兵权那是痴心妄想。

“设使国家无有孤,不知当几人称帝,几人称王!”

基本上,加九锡公认是篡位前必不可少的铺垫步骤。

鲁迅先生有一段著名的评论:因为通常我们晓得,某朝的年代长一点,其中必定好人多;某朝的年代短一点,其中差不多没有好人。为什么呢?因为年代长了,做史的是本朝人,当然恭维本朝的人物了,年代短了,做史的是别朝的人,便很自由地贬斥其异朝的人物

归根结底,还是曹操把人得罪得比较狠:如果我是汉朝的忠臣,那我当然痛恨这个乱臣贼子;如果我是名门望族,那么曹操“唯才是举”的主张,无疑对我是很大的伤害;如果我是平头百姓,那么曹操又喜欢大屠杀,又把沉重的赋税徭役压在我头上—所谓“屯田”,其实就是建立了一个个集中营,我们都成了其中的苦役犯—我恨死他了

平民百姓的怨言,很容易沉没于幽暗的历史深处,但世家大族就不同了,他们喜欢以道德学问标榜,笔杆子在他们手上,所谓“公道自在(有话语权之人的)人心”,士人说曹操的坏话,传播效果特别好。

才德全尽谓之圣人,才德兼亡谓之愚人,德胜才谓之君子,才胜德谓之小人。凡取人之术,苟不得圣人、君子而与之,与其得小人,不若得愚人。……愚者虽欲为不善,智不能周,力不能胜,譬之乳狗搏人,人得而制之。小人智足以遂其奸,勇足以决其暴,是虎而翼者也,其为害岂不多哉!

在传统历史学家那里,对曹操的看法其实很稳定:都认为曹操人很坏,但能力很强,而正因为能力强,所以显得人尤其坏。

陆机对故国怀有感情,认为“三国同霸”,不论魏蜀吴,都只是霸主水平,没有谁是得天命的帝王,算是当时少数胆敢高调否认曹魏合法性的人。感情上,他本不该对曹操有什么好感,从政治的角度理性评价曹操,他的观点则是:“曹氏虽功济诸华,虐亦深矣,其民怨矣。”可算是在附和史学界的主流评价。

《东坡志林》是苏轼随手写下的札记,写起史论文章来,苏轼可以算顶级曹黑。

归根结底,曹操“长于料事而不长于料人”,所以不能一统天下,也就是注定的了。

鲁迅谈曹操的文章,特别强调一个特点,就是“通脱”。他又解释说,“通脱即随便之意”,曹操“胆子很大,文章从通脱得力不少,做文章时又没有顾忌,想写的便写出来”。通是通透明白,脱是洒脱随便。

1959年的春天,掀起了一股为曹操翻案的热潮,郭沫若、翦伯赞等学界权威都写了文章发表在《人民日报》或《光明日报》上

《世说新语》的编撰者,显然也是这么想的。在他眼睛里,这个故事是假谲,夜梦杀人也是假谲,望梅止渴也是假谲……总之,就是这些骗人的故事都很有趣,什么道德什么意义还有什么历史正确性,都随它去吧。

清代毛宗岗评点《三国演义》,提出三国有三绝:诸葛亮智绝,关羽义绝,曹操则是奸绝。

《三国演义》突出了曹操的才能,渲染了曹操的性情,却淡化了出身对曹操的影响。

宋代以来,瓦肆的听众就爱听“发迹变泰”,也就是草根逆袭的故事,现在相信“人人生而平等”的人们,当然更是如此。即使是嘉靖本,也很少渲染曹操能取得一个又一个成功,家族资源发挥了怎样的作用。—固然曹操的父亲并不怎么支持他的行动,但要是因此低估家族关系网帮曹操解决了多少问题,那就太天真了。

从初平元年(公元190年)开始,袁绍几乎每年都会给曹操提供至关重要的支援。

曹操做了最犯袁绍之忌的事,迎接汉献帝,借皇权来压袁绍这个盟主,终于到建安五年(公元200年)官渡之战,曹操一举翻盘。

可以说,曹操是袁绍一手扶植起来的力量,最终他却消灭了袁绍,这是汉末乱世里最大规模的一次反噬。

曹操的暴行粗略分为四大类:霸凌皇帝,杀戮名士,翦除小人,屠灭平民。

一个政权,核心团队里要有顶级名士,才能得到大大小小的名士的支持,而你的官员有名士的身份,各地的大家族才愿意配合这些官员的工作。于是你的地盘治安才能保持,税收才有保证。

这才是名士的硬实力。

对历史上的曹操来说,和名士的关系至关重要。大量名士的支持,是他崛起与成功不可或缺的基础,但一旦他想打造完全按照自己意志行事的官僚机器,甚而想要改朝换代,名士就成了横亘在面前的障碍。

所以曹操与名士的合作,总是充满内在的紧张感。而每次曹操想要有大举措实现身份跨越,就要杀戮或者折辱一两个大名士。

早在兖州的时候,曹操就杀了名士边让;把汉献帝接到许县,接下来就羞辱了出身顶级名门的太傅杨彪;再往后,建安十三年(208年)恢复了丞相制度并自任丞相,同年杀了孔融;建安十八年(213年)被册封为魏公,加九锡,逼死荀彧;建安廿一年(216年),进爵为魏王,杀害崔琰。

看了正史就看《三国演义》,会觉得罗贯中对曹营人物大大贬低;看了杂剧、平话再看《三国演义》,才知道有了罗贯中,才让荀彧、郭嘉们重见天日。

颍川荀氏是天下士人倾慕的大族,有了荀彧的辅佐,曹操阵营对名士的吸引力就大为增加,

《三国演义》里,曹操经常承担这个职能:把好人不方便杀或没机会杀的小坏蛋杀掉。

但《三国演义》丑化曹操的地方,如欺君罔上,迫害名士之类,恰恰是现代很多人不太介意的,《三国演义》美化曹操的地方,最重要的就是掩盖了他大量屠杀平民的暴行,这正是现代人眼中极其重要的问题

刘备篇

不只是《江表传》一部书,东吴方面的叙述确实有这样一个趋势:越来越把赤壁之战理解为自己单独取得的胜利

刘备在荆州感叹髀肉复生的故事,见于司马彪的《九州春秋》;刘备马跃檀溪的故事,则见于郭颁的《世语》。这类明显美化刘备形象的典故,都是通过北方学者的著作才流传下来的

因为说书人的认识里,诸葛亮是智慧的化身,而小市民所能理解的智慧,又确乎就是没有任何付出而便宜占尽,于是他们也就继承了东吴方面那个赤壁之战里刘备没怎么参战的设定—脑残粉等于高级黑,确实挺普遍原理的。

《三国志·先主传》说刘备是中山靖王刘胜的后代,大概是事实。

朝廷有“宗正”,负责宗室管理,对宗室成员进行专门的户口登记;郡国一级的地方政府,还设置了“宗师”,对本地宗室进行“教训”。

西汉末的登记对象,是“太上皇以来族亲”,只要是刘邦的爸爸的后代,都算。

刘备拜在同郡的大儒卢植门下,刘备十五岁是汉灵帝熹平四年(公元175年),卢植正在洛阳附近的缑氏山讲学

念好学校,拜好老师,学习知识是一方面,写到简历上好看,建立新的社交圈,从来也都是很重要的功能。

放眼古今中外,靠做恭谨温厚的老好人,而让年轻人热血上头的,未之有也。

事实上刘备对他们的吸引力在于:你喜欢的我也喜欢,你爱玩的我玩得比你还好;你喜欢好马,那咱们拉出来遛遛;你喜欢漂亮衣服,我衣服的款式洛阳城里今年最流行;你喜欢听歌,知道皇上最爱听的是什么调调吗?

在此基础上,我智商比你高,眼界比你大,道德很高尚,梦想很感人……这些优点才能发挥出来。所以才有“年少争附之”。

天生的个人魅力和社交能力,是刘备最大的优势,但也注定了他早期的一系列失败。他获得了以他当时的硬实力根本无法支撑起来的政治资源,就好比一支弱队被保送进了顶级联赛,战绩当然会很难看。

在一个复杂的小圈子内部,谁和谁之间都有千丝万缕的联系,不存在绝对的盟友和敌人。什么时候应该坚持,什么时候不妨转身,是一套深谙潜规则之后才能掌握的艺术。像吕布这样的底层闯入者,自然不可能明白这个道理,所以才会把每次转换立场,都弄成血腥的背叛。

说明迷信韬光养晦有效,指望靠装孙子解决问题,这种思路始终很有群众基础罢了。

刘备到底吸引来的哪些豪杰?也就可以有个大致判断了。这是一些被本土豪门大姓排挤、压制而郁郁不得志,同时又觉得自己去到北方,也一样不会有什么机会的人。徐庶、伊籍

“臣本布衣,躬耕于南阳。”宣称自己有种地的经验,是古人惯常使用的谦辞。琅琊诸葛氏是当时重要的家族,至少到南方后算得上足够显赫。青年诸葛亮最引人瞩目的地方,是有些轻狂的姿态和强烈的进取心,道德高尚与否,并不是最被关注的事情。

《隆中对》是一份极度重视可行性,而很少体现出道德责任感的文本

刘备可能是吸取了徐州的教训。那次刘备的别驾从事陈群就劝他不要趟徐州的浑水,刘备不听,结果陈群预言的危机一一都变成了现实。实力不济的时候,贸然占据一个大州,即使暂时成功,接下来也会崩盘。就算控制了刘琮,蒯越、蔡瑁这些本土实力派又怎么可能支持自己?本来就强弱不敌还离心离德,这种情况下又谈何对抗曹操?

刘备手下的庞统,刘璋手下的法正,都劝刘备突袭刘璋,一举取得益州,但刘备没有听从。

刘备期待做得更有耐心一点,“厚树恩德,以收众心”,等待自己在益州打下一点基础,而刘璋再犯几个错误,自己有足够理由可以宣称刘璋对不起自己,那时再行动,就好看得多,后续措施,选择余地也大得多。

一个统治者对平民是否心慈手软,不仅取决于他的个性和道德品质,归根结底,在于他的处境

曹操做了一些善待屯田士卒的政策调整,道理也很简单,屯田制度最大的优势其实是人口控制,战乱年代你多控制一个人至少意味着你的对手就少控制一个人,别的可以暂且忽略不计,现在却已经到了应该考虑提高劳动生产率的时候了。

英雄传奇的画卷展开,总会看见用鲜血绘成的江山。

这样,给韭菜工作压力,也给人才发挥空间,对民间资源的汲取效率提到最高,对法正这样的才智之士,又最大限度地刺激了其工作积极性。从提升刘备集团的战斗力来说,不失为高明的策略。

清代赵翼的概括:“曹操以权术相驭,刘备以性情相契,孙氏兄弟以意气相投。”

鲁迅先生要评价说,《三国演义》“欲显刘备之长厚而似伪”

《三国演义》这种世代累积型的作品,是最典型的迎合着读者口味来的,其实较少作者的个人特色,却较能反映民间普遍的趣味

如果有耐心多读一点历史演义类的小说,会发现,好皇帝高尚而无能,是普遍现象。

梁启超在《中国历史研究法》中称:“中国于各种学问中,惟史学最发达;史学在世界各国中,惟中国为最发达。”

因为古代中国人,显然并不把历史仅仅当作“过去发生的事”。按照传统眼光看来:

第一,历史中包含着“道”,也就是人类社会最重要的原则,所以写历史书,也就是在进行核心价值观建设。

学习历史,就是学习治国和做人,所以唐太宗说:“以史为镜,可以知兴替”;得到了历史书的正面评价,那么承受人世间的种种磨难也就在所不惜,如文天祥的名句“人生自古谁无死,留取丹心照汗青”。

所以有人说,中国传统社会里,史学是发挥着类似宗教的职能的。

第二,正因为历史如此重要,所以史书的修撰,权力是深度介入的。

史官是国家干部,历史应该怎么写,是“天子之事”,就是天子赋予了你写历史的资格,你才可以动笔。

到了唐代,为了终结这种先上车后买票的情况,皇帝进行了重大制度创新,就是设立史馆。把正史的修撰,作为国家级的文化工程来做,由宰相一级的大官来主持。

第三,历史还是社会上层交流的一种方式。

你要是不会随口引用历史掌故,或者别人引用了你却听不懂,那简直不配混这个社交圈

庄子:饰小说以干县令,其于大达亦远矣。

“小说”这个名词诞生的时候,是骂人的话,凡是不上档次的作品,都可以叫小说。

先秦诸子的著作,被分成了十大门派:儒、道、阴阳、法、名、墨、纵横、杂、农、小说。

正统学者心目中的小说,大概可以这么定义:小说是记录不重要不确凿的事实的短小作品。也就是说,小说是不能虚构的。它们存在的意义,是有可能可以填补史书的缺漏。

“今世传街谈巷语,有所谓‘演义’者,盖尤在杂剧、传奇下”

鄙视链:史书>不可以虚构的“小说”>可以虚构的“传奇”>长篇章回小说和短篇白话小说。

《三国演义》是一部努力排斥低俗的民间趣味的书,但是它没有因此失去群众基础,恰恰相反,这种努力使它在部分群众那里,获得了一种高级感。

千金藤素和东北亚疫情

原创:叶立华
来源:求实处(ID:QIUSHICHU-
死亡笔记向来是不想对朋友用的,但有的时候我们没有办法,只能眼睁睁的看着朋友离去。布林肯要对欧佩克动手,立华我预警过一次。
但他的效率远超我们的想象,他出手了,就有人没有了。
钱是要挣的,挣钱值不值得付出生命,对大多数人来说都是问题,打的一拳开免的百拳来,前提是打着一拳的时候能抗住流出来的血。欧佩克还有多少血可以流,是个问题。
欧佩克还能撑多久,也是个问题。
布林肯这么着急,原因是德国人对俄罗斯妥协了,主义再大大不过取暖,德国人开始用卢布支付天然气。泽连斯基也是个软骨头,普京那边特别军事行对,没有对乌克兰宣战,泽连斯基也就没有对俄罗斯宣战。
打了两个月,马上要三个月了,两个国家都不在战争状态,乌克兰境内的过境天然气管道还好好的,俄罗斯自己不炸,泽连斯基也不去炸。
像极了蒋介石,日本人侵略了半个中国,蒋介石就是不对日本宣战,贸易还没有断,这叫什么事情?
泽连斯基没有骨气,至今不敢宣战,德国人又要对俄罗斯妥协,再不让欧佩克吃几刀子,怕是他们都不知道花儿为什么这样红了。
政客会左摇右摆,但政治家杀伐果断。出来混十分的讲诚信,说杀你全家,就杀你全家,红线给欧佩克画出来了,谭德赛的烟幕弹一打,紧接着就是动手。
普京在国际上取信于人了,乌克兰不要加入北约,否则就打。后来乌克兰要加入北约,普京就打了。
现在布林肯第二个在国际上取信于人了。欧佩克要配合美国的计划,否则就要出事。后来欧佩克不配合美国的计划,于是就出事了。
红线划出去,有人踩过来一点,就不顾一切铁血打击,这才是底线。普京和布林肯都取信于人了,事情就不好办了。
一个政客会被官僚集团带着走,官僚集团是理智的。还比较好预测。
但有决心的政治家可以将大权独揽到自己手里,普京取信于人,布林肯又取信于人,局面的走向就迷幻了起来,变得难以预测。
局面维系于组织,组织好预测,局面维系于个人,历史的进程就要扑朔迷离起来。
我们只能在这不确定性中寻找最大的确定性,来应对这不确定的未来。
于是,我们拿出了一个研究了十几年的东西,叫做千金藤素,这个药物的抗病毒效果十分良好,比瑞德西韦的效果要好很多。
我国的产能很大,现在需要的就是临床的证实,如果我们通过临床证实了千金藤素能够在人体上有效的帮助人体抗掉新冠病毒,我们就在一个方面立于不败。
我们正在考虑把东三省和天津市的良港、技术调动起来,结合他们的劳动力,让他们也加入世界经济循环中,在亚太建立我坚固的桥头堡。如果我们能和他们团结起来,各尽其才,我们就在两个方面都立于不败。
要不然,看看东北亚的小兄弟都能被搞成这个样子,指不定要出多大事。

本文授权转载来自公众号:求实处(ID:QIUSHICHU-)讲政治,靠得住,没有关系低保户。

转自:https://mp.weixin.qq.com/s/0ZJifuCENmdYXm7x7D2pkQ