Gitlab相关

CI相关

参考:https://docs.gitlab.com/runner/install/

安装

K8S的CI可用helm安装:https://docs.gitlab.com/runner/install/kubernetes.html#installing-gitlab-runner-using-the-helm-chart

步骤就是下载value.yaml

修改配置,主要为gitlabUrl,gitlabUrl,privileged(如果跑doker)

https://docs.gitlab.com/runner/executors/kubernetes.html#using-docker-dind

用helm来应用配置安装。

配置相关

CI中设置环境变量可以修改DOCKER连接的配置

1
2
3
variables:
DOCKER_DRIVER:
DOCKER_HOST:

情感分析尝试

(大概率坑掉,所以可以无视)

数据爬取

首先是资料来源,评论非常多并且两极分化较为严重的一个事件,感觉可以作为资料

资料准备

微博API接口

微博评论网址

API接口不好用,也不太想怕爬虫,最后半脚本半人肉的将数据弄了出来。

k8s 指令记录

禁止节点被调度(需要恢复则将false改为true

1
kubectl patch node <node name> -p '{"spec":{"unschedulable":false}}'

-l参数可以用来筛选kubectl get得到的记录,其筛选是通过yaml中的label定义的标签进行的,通过-o jsonpath可以获取指定的属性从而塞入命令行中。

https://mp.weixin.qq.com/s/JVFaE0yO36L7Il_Occ7IyQ

格兰杰因果检验记录

记录

https://zhuanlan.zhihu.com/p/79936875
简单介绍了格兰杰因果,是强调时间序列的因果关系,其出发点在于变量B存在与否,对变量A取值概率大小会发生影响,则B是A的因。
没有介绍具体的算法。

https://zhuanlan.zhihu.com/p/24647310
指出格兰杰因果检验需要证明随机变量是平稳序列(因为要用到F统计)
引出了新的概念:F统计检验,平稳序列
F统计检验又称联合假设检验,在零假设下,统计值服从F分布的检验。

https://blog.csdn.net/baimafujinji/article/details/6496224
有具体的公式和案例
首先需要零假设$H_0$:X不是引起Y变化的Granger原因
无约束回归模型(u):
$$
Y_t=\alpha_0 + \sum_{i=1}^p \alpha_i Y_{t-i} +\sum_{i=1}^q \beta_i X_{t-i} + \epsilon_t
$$
有约束回归模型(r):
$$
Y_t=\alpha_0 + \sum_{i=1}^p \alpha_i Y_{t-i} + \epsilon_t
$$

其中p,q为最大滞后期数,$\epsilon_t$为白噪声
记n为样本容量,二者的残差平方和为$RSS_u$和$RSS_r$,则可构造F统计量(残差平方和为点与回归线之间的距离的平方和)
$$
F=\frac{(RSS_r-RSS_u)/q}{RSS_u/(n-p-q-1)}
$$
可认为$H_0$的检验为检验$\beta_0=\beta_1=…=\beta_q=0$是否成立
若$F\geq F_\alpha(q,n-p-q-1)$则$\beta_1..\beta_q$显著不为0,拒绝其为Granger因
再反过来,检验Y不是引起X变化的原因,从而得到X是Y的Granger原因

https://www.cnblogs.com/hdu-zsk/p/7235200.html
有详细的步骤,并且将格兰杰因果的条件检验和标准流程都列出来了,适合作为实现的参考。

https://pengfoo.com/post/machine-learning/2017-01-24
格兰杰因果检验要求随机变量是平稳的,平稳要求没有单位根,这里介绍了Python利用ADF检验来检测单位根的方法
(网上找到的大多数都是直接调库,没发现原理解释的)

https://zhuanlan.zhihu.com/p/21566798
除了差分外,协整也可以是让随机变量变成平稳的方法

https://github.com/h-cel/ClimateVegetationDynamics_GrangerCausality/tree/691b7a1979144be8e7fd64beab338bbab93ce0f0
github上找到的实现,方法是随机森林回归加上K-Fold交叉验证后的r2_score

https://github.com/USC-Melady/Granger-causality
使用的方法是Lasso Granger,查了下,相关描述是:Lasso-Granger is an efficient algorithm for learning the temporal dependency among multiple time series based on variable selection using Lasso.
Reference:A. Arnold, Y. Liu, and N. Abe.Temporal causal modeling with graphical granger methods. In KDD, 2007.

https://github.com/statsmodels/statsmodels/blob/1212616d27ab820d303377f0bcf421cd3f46c289/statsmodels/tsa/vector_ar/vecm.py
发现库内有实现,根据这里的类关系,格兰杰因果关系测试与向量误差修正模型(VECM)有关

杂语

网络上大部分人认为格兰杰因果检验不能检验因果关系,只是检验时间先后关系,或者说,可预测性。

k8s 杂语

快速部署k8s
https://github.com/easzlab/kubeasz

Benchmark
https://github.com/wwyf/DeathStarBench/tree/master/socialNetwork/k8s-yaml

vxlan(Virtual eXtential LAN)
网络虚拟化技术,穿透三层网络对二层进行扩展
弥补了vlan个数少,地址重叠,交换机性能的问题
参考:
https://blog.csdn.net/octopusflying/article/details/77609199
https://www.cnblogs.com/hbgzy/p/5279269.html

fennel

weave socpe
Docker 和 Kubernetes 可视化监控工具
https://github.com/weaveworks/scope

kubectl get pod -n [pod名字] -o wide | sort -k7
-n代表--namespace,接命名空间参数,-k7代表按第七列作为索引进行排序

pod
最小部署单元,一个环节,可以运行多个container,共享所有资源

service
自动感知服务提供方

namespace
一组资源和对象的抽象集合,pod,services等都属于某个namespace

参考:https://www.jianshu.com/p/67d4f3d0600e

Grafana
跨平台开源度量分析与可视化工具

|