早段时间看了算法之美,一时兴起了用算法来做一个模型来决策在我们生活中怎么取得平衡,或者我们人生中如果不知道什么重要时,该怎么样去投入精力,也可以是你确立了一个目标,寻找目标相关的因素,然后这些因素之间又具有因果关联关系的时候,我们最终通过一个模型来分配你的精力,思考如何更有效达成你的目标,当然这个只是抛砖引玉,由于时间关系,这个模型很简单,如果你有大把时间的话,你完全可以做成更复杂的好几层的马尔科夫链甚至是深度学习,设定各种激活函数,最后预测你的人生未来的样子哈哈(后面如果有足够充分的时间,我也会考虑构建一个完整的数据模型来试一下~)
从这个模型的初始设定,最后推出的结论看出,如果我们拥有财富,将对我们生活很有帮助,而不错的事业地位、健康、家庭、还有工作才能都能有效帮我们去构建这样的一个良性的人生系统。(注意:这个模型的结论并不是通用的,非常依赖于你的模型初始化设定,也就是你根据对自己还有环境的认知,你可能发现社交对你的财富以及事业地位很重要,那么这个模型的结论又很不一样了,或者你的职业是一个生活体验师,那么f丰富的生活对你来说对事业还有成就感都很重要,那么你的初始设定也会有很多不一样)
具体代码见下面
import pandas as pd
filename = '../lifedecision.xlsx'
df_obj=pd.read_excel(filename,sheet_name='Sheet1')
matrix_dc = df_obj.values
matrix_dc = matrix_dc[:,:-1]
matrix_final=matrix_dc
matrix_final=0.25np.dot(matrix_dc,matrix_dc)+matrix_dc
matrix_final=matrix_final/np.max(matrix_final,axis=1)
print(np.around(matrix_final,decimals=1))
matrix_diag=np.diag(-1np.diag(matrix_final))
matrix_final=matrix_diag+matrix_final
for i in range(matrix_final.shape[0]):
matrix_final[i][i]=0
print("##########################")
print(np.around(matrix_final,decimals=1))
total0=np.sum(matrix_dc, axis=1)
total1=np.sum(matrix_final, axis=1)
print((total1-total0)/total0)
delta=np.mean(abs((total1-total0)/total0))
delta
while delta>0.2:
total0=total1
#print(total0)
matrix_final=0.2np.dot(matrix_final,matrix_final)+matrix_final
matrix_final=matrix_final/np.max(matrix_final,axis=1)
matrix_diag=np.diag(-1np.diag(matrix_final))
matrix_final=matrix_diag+matrix_final
total1=np.sum(matrix_final, axis=1)
print(total1)
delta=np.mean(abs((total1-total0)/total0))
print(delta)
print(np.around(matrix_final,decimals=1))
np.savetxt('test.csv',matrix_final,delimiter = ',')