In [1]:
%matplotlib inline
import warnings
warnings.filterwarnings('ignore')
import pandas as pd
import numpy as np
import networkx as nx
import seaborn as sns
import matplotlib.pyplot as plt
from Helper import *
from ggplot import *
from plotnine import *
import scipy.stats as stats
import researchpy as rp
import statsmodels.api as sm
from statsmodels.formula.api import ols
import pixiedust_node
# import pixiedust
# from pixiedust.display import *
import time
Pixiedust database opened successfully
Pixiedust version 1.1.18
Pixiedust Node.js

Các cài đặt

In [2]:
# seaborn-pastel, fivethirtyeight
plt.style.use('fivethirtyeight')

Load data

In [3]:
surveyData = pd.read_csv('./resources/responsedata.csv')

Tiền xử lý dữ liệu

In [4]:
colum2FixData = ['4.1.A Tìm cách đến đáp họ', '4.1.B Sẽ nhận trong hoàn cảnh khó khăn?']
for col in colum2FixData:
    valueCounts = surveyData[col].value_counts()
    valueList = valueCounts.tolist()
    popularLabelFor = valueCounts.index.tolist()[valueList.index(max(valueList))]
    surveyData[col].fillna(popularLabelFor, inplace = True)

surveyData['6.1 Số lượng vé sẵn lòng mua'] = surveyData['6.1.A Số lượng vé sẵn lòng mua']\
    .fillna(surveyData['6.1.B Số lượng vé sẵn lòng mua'])
    
surveyData = surveyData.drop(columns=[
    '6.1.A Số lượng vé sẵn lòng mua',
    '6.1.B Số lượng vé sẵn lòng mua',
    '13. Thông tin đáp viên'
])
surveyDataHeaders = surveyData.columns.tolist()
surveyDataNumberHeaders = surveyData.select_dtypes(include=['int64', 'float64']) \
                            .copy().columns.tolist()

Tạo bảng mới cho những dữ liệu có nhãn

In [5]:
surveyDatalb = surveyData.select_dtypes(include=['object']) \
                        .copy().drop(columns=['Timestamp'])
surveyDatalbHeaders = surveyDatalb.columns.tolist()

Nhân bản một biến lưu dữ liệu đã được mã hóa

In [6]:
surveyDataAll = surveyData.copy()

Chuyển đổi dữ liệu nhãn qua dạng số

In [7]:
for col in surveyDatalbHeaders:
    surveyDatalb[col] = surveyDatalb[col].astype('category').cat.codes
    surveyDataAll[col] = surveyDataAll[col].astype('category').cat.codes
pixiedust_node 0.2.5 started. Cells starting '%%node' may contain Node.js code.

Tổng quan về bảng dữ liệu "surveyDatalb"

In [8]:
surveyDatalb.info()
display(surveyDatalb.head(2))
display(surveyDatalb.describe())
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 189 entries, 0 to 188
Data columns (total 8 columns):
 #   Column                                            Non-Null Count  Dtype
---  ------                                            --------------  -----
 0   1. Giới tính                                      189 non-null    int8 
 1   2. Nhóm tuổi                                      189 non-null    int8 
 2   3. Công việc                                      189 non-null    int8 
 3   4. Đã từng nhận lời ngỏ ý giúp đỡ hoặc tặng quà?  189 non-null    int8 
 4   4.1.B Sẽ nhận trong hoàn cảnh khó khăn?           189 non-null    int8 
 5   6. Nhận ly sinh tố?                               189 non-null    int8 
 6   11. Bạn sẽ phản ứng như thế nào?                  189 non-null    int8 
 7   12. Bạn sẽ làm gì?                                189 non-null    int8 
dtypes: int8(8)
memory usage: 1.6 KB

Tổng quan về bảng dữ liệu "surveyData"

In [9]:
surveyData.info()
display(surveyData.head(2))
display(surveyData.describe())
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 189 entries, 0 to 188
Data columns (total 19 columns):
 #   Column                                                                  Non-Null Count  Dtype  
---  ------                                                                  --------------  -----  
 0   Timestamp                                                               189 non-null    object 
 1   1. Giới tính                                                            189 non-null    object 
 2   2. Nhóm tuổi                                                            189 non-null    object 
 3   3. Công việc                                                            189 non-null    object 
 4   4. Đã từng nhận lời ngỏ ý giúp đỡ hoặc tặng quà?                        189 non-null    object 
 5   4.1.A Tìm cách đến đáp họ                                               189 non-null    float64
 6   4.1.B Sẽ nhận trong hoàn cảnh khó khăn?                                 189 non-null    object 
 7   5. Cho ai đó trước khi nhờ vả                                           189 non-null    int64  
 8   6. Nhận ly sinh tố?                                                     189 non-null    object 
 9   7. Thiện cảm                                                            189 non-null    int64  
 10  7. Trách nhiệm                                                          189 non-null    int64  
 11  7. Tài năng                                                             189 non-null    int64  
 12  7. Con ông cháu cha                                                     189 non-null    int64  
 13  8. Mức độ mua sản phẩm mì nổi tiếng khi vừa ra mắt                      189 non-null    int64  
 14  9. Mức độ mua sản phẩm mì nổi tiếng khi vừa ra mắt + được mời dùng thử  189 non-null    int64  
 15  10. Mời các bạn một chầu ăn trước ngày ứng cử vào vị trí trưởng clb     189 non-null    int64  
 16  11. Bạn sẽ phản ứng như thế nào?                                        189 non-null    object 
 17  12. Bạn sẽ làm gì?                                                      189 non-null    object 
 18  6.1 Số lượng vé sẵn lòng mua                                            189 non-null    float64
dtypes: float64(2), int64(8), object(9)
memory usage: 28.2+ KB
In [10]:
DisplayMDDataSummery(surveyData, surveyDatalbHeaders, surveyDataNumberHeaders)
Out[10]:

Chúng ta có:

  • Số lượng mẫu : 189
  • Số lượng biến: 18 trong đó có 8 biến định tính, 10 biến định lượng

  • Các biến định đính bao gồm: 1. Giới tính | 2. Nhóm tuổi | 3. Công việc | 4. Đã từng nhận lời ngỏ ý giúp đỡ hoặc tặng quà? | 4.1.B Sẽ nhận trong hoàn cảnh khó khăn? | 6. Nhận ly sinh tố? | 11. Bạn sẽ phản ứng như thế nào? | 12. Bạn sẽ làm gì?

  • Các biến định lượng bao gồm: 4.1.A Tìm cách đến đáp họ | 5. Cho ai đó trước khi nhờ vả | 7. Thiện cảm | 7. Trách nhiệm | 7. Tài năng | 7. Con ông cháu cha | 8. Mức độ mua sản phẩm mì nổi tiếng khi vừa ra mắt | 9. Mức độ mua sản phẩm mì nổi tiếng khi vừa ra mắt + được mời dùng thử | 10. Mời các bạn một chầu ăn trước ngày ứng cử vào vị trí trưởng clb | 6.1 Số lượng vé sẵn lòng mua

Thống kê mô tả cho các biến định tính

In [11]:
drawAllColumTypeObject(plt, surveyData)
Tổng số biến dạng object: 8
1. Giới tính
['Nữ', 'Nam']
2. Nhóm tuổi
['18 - 22', '23 - 30', '> 31', '< 18']
3. Công việc
['Sinh viên', 'Người đã đi làm', 'Học sinh', 'Nội trợ', 'Khác']
4. Đã từng nhận lời ngỏ ý giúp đỡ hoặc tặng quà?
['Có', 'Không']
4.1.B Sẽ nhận trong hoàn cảnh khó khăn?
['Có', 'Không']
6. Nhận ly sinh tố?
['Có', 'Không']
11. Bạn sẽ phản ứng như thế nào?
['Nhận lỗi', 'Im lặng để trong lòng {ghim}', 'Giải thích với thái độ bất mãn', 'Tranh cãi gay gắt, so sánh với các bạn đi trễ khác']
12. Bạn sẽ làm gì?
['Giúp họ chặn tên cướp', 'Lờ đi', 'Chần chừ', 'Hả hê']

Thống kê mô tả

Hàm thống kê mô tả cho các biến thể hiện mức độ đánh giá

In [12]:
def drawSummaryRatioFor(data, quest, labels=None, compare=None):
    drawSNSPlot(data, quest, None, labels)
    drawSNSPlot(data, quest, compare, labels)

Hàm thống kê mô tả so sánh các biến thể hiện mức độ với các biến định tính

In [13]:
def drawSummaryRatioWith(data, quest, labels=None):
    drawPieChart(plt, data, quest, None, labels)
    for v in surveyDatalbHeaders:
        print('So sánh với:', v)
        drawSummaryRatioFor(data, quest, labels=labels, compare=v)

Câu 4.1.A: Bạn có muốn tìm cách đền đáp lại cho họ hay không?

In [14]:
quest4Var = '4.1.A Tìm cách đến đáp họ'
ans4Label = {"1.0": "Không muốn", "2.0": "Bình thường", "3.0": "Muốn", "4.0": "Rất muốn"}
drawSummaryRatioWith(surveyData, quest4Var, ans4Label)
[3.0, 4.0, 2.0, 1.0]
So sánh với: 1. Giới tính
So sánh với: 2. Nhóm tuổi
So sánh với: 3. Công việc
So sánh với: 4. Đã từng nhận lời ngỏ ý giúp đỡ hoặc tặng quà?
So sánh với: 4.1.B Sẽ nhận trong hoàn cảnh khó khăn?
So sánh với: 6. Nhận ly sinh tố?
So sánh với: 11. Bạn sẽ phản ứng như thế nào?
So sánh với: 12. Bạn sẽ làm gì?

4.1.B Sẽ nhận trong hoàn cảnh khó khăn?

In [15]:
drawOneColumTypeObject(plt, surveyData, surveyDatalbHeaders, '4.1.B Sẽ nhận trong hoàn cảnh khó khăn?')
4.1.B Sẽ nhận trong hoàn cảnh khó khăn?
['Có', 'Không']

Câu 5: Trong tình huống bạn chuẩn bị nhờ vả một ai đó thì bạn có nghĩ đến việc cho họ một cái gì đó (quà, trà sữa, bữa ăn, …)?

In [16]:
quest5Var = '5. Cho ai đó trước khi nhờ vả'
ans5Label = {"1": "Không nên", "2": "Bình thường", "3": "Nên", "4": "Phải làm"}
drawSummaryRatioWith(surveyData, quest5Var, ans5Label)
[3, 4, 2, 1]
So sánh với: 1. Giới tính
So sánh với: 2. Nhóm tuổi
So sánh với: 3. Công việc
So sánh với: 4. Đã từng nhận lời ngỏ ý giúp đỡ hoặc tặng quà?
So sánh với: 4.1.B Sẽ nhận trong hoàn cảnh khó khăn?
So sánh với: 6. Nhận ly sinh tố?
So sánh với: 11. Bạn sẽ phản ứng như thế nào?
So sánh với: 12. Bạn sẽ làm gì?

Tạo hàm thống kê mô tả so sánh giữa biến định lượng và biến định tính

In [17]:
kindCharts = ['swarm', 'box', 'boxen', 'violin', 'bar', 'point']
def drawCatPlotFor(data, quest, x, rota=0):
    rt = rota
    hr = 'center'
    if rota > 0:
        hr = 'right'
    for k in kindCharts:
        ch = sns.catplot(x=x, y=quest, kind=k, data=data)
        ch.set_xticklabels(rotation=rt, horizontalalignment=hr)
        plt.show();

6.1 Cuối buổi học, người bạn đó mời bạn mua vé tham dự cuộc thi do clb tổ chức thì bạn sẵn lòng mua bao nhiêu vé.?

In [18]:
quest6_1Var = '6.1 Số lượng vé sẵn lòng mua'

So sánh "6.1 Số lượng vé sẵn lòng mua" với các biến định tính

In [19]:
print('Chúng ta sẽ so sánh với các câu hỏi sau:')
display(surveyDatalbHeaders)
for v in surveyDatalbHeaders:
    drawCatPlotFor(surveyData, quest6_1Var, v, 15)
    print('-'*60)
Chúng ta sẽ so sánh với các câu hỏi sau:
------------------------------------------------------------
------------------------------------------------------------
------------------------------------------------------------
------------------------------------------------------------
------------------------------------------------------------
------------------------------------------------------------
------------------------------------------------------------
------------------------------------------------------------

8. Tình huống bạn đang ở siêu thị và thấy 1 sản phẩm mì nổi tiếng vừa mới được cho ra mắt, bạn có muốn mua sản phầm này không? (8. Mức độ mua sản phẩm mì nổi tiếng khi vừa ra mắt)

In [20]:
quest8Var = '8. Mức độ mua sản phẩm mì nổi tiếng khi vừa ra mắt'
ans8Label = {"1": "Không mua", "2": "Cân nhắc", "3": "Mua ít", "4": "Mua nhiều"}
drawSummaryRatioWith(surveyData, quest8Var, ans8Label)
[2, 3, 1, 4]
So sánh với: 1. Giới tính
So sánh với: 2. Nhóm tuổi
So sánh với: 3. Công việc
So sánh với: 4. Đã từng nhận lời ngỏ ý giúp đỡ hoặc tặng quà?
So sánh với: 4.1.B Sẽ nhận trong hoàn cảnh khó khăn?
So sánh với: 6. Nhận ly sinh tố?
So sánh với: 11. Bạn sẽ phản ứng như thế nào?
So sánh với: 12. Bạn sẽ làm gì?

9. Cũng với tình huống như trên nhưng bạn được mời dùng thử sản phẩm. Bạn sẽ mua món mì đó chứ? (9. Mức độ mua sản phẩm mì nổi tiếng khi vừa ra mắt + được mời dùng thử)

In [21]:
quest9Var = '9. Mức độ mua sản phẩm mì nổi tiếng khi vừa ra mắt + được mời dùng thử'
ans9Label = {"1": "Không mua", "2": "Cân nhắc", "3": "Mua ít", "4": "Mua nhiều"}
drawSummaryRatioWith(surveyData, quest9Var, ans9Label)
[2, 3, 4, 1]
So sánh với: 1. Giới tính
So sánh với: 2. Nhóm tuổi
So sánh với: 3. Công việc
So sánh với: 4. Đã từng nhận lời ngỏ ý giúp đỡ hoặc tặng quà?
So sánh với: 4.1.B Sẽ nhận trong hoàn cảnh khó khăn?
So sánh với: 6. Nhận ly sinh tố?
So sánh với: 11. Bạn sẽ phản ứng như thế nào?
So sánh với: 12. Bạn sẽ làm gì?

10. Giả sử, trước ngày bạn chuẩn bị ứng cử vào vị trí trưởng câu lạc bộ và cần nhiều sự ủng hồ của các thành viên, thì bạn có nghĩ sẽ mời các bạn đó một chầu ăn uống gì không? (10. Mời các bạn một chầu ăn trước ngày ứng cử vào vị trí trưởng clb)

In [22]:
quest10Var = '10. Mời các bạn một chầu ăn trước ngày ứng cử vào vị trí trưởng clb'
ans10Label = {"1": "Chưa nghĩ đến", "2": "Cân nhắc", "3": "Mời", "4": "Chắc chắn rồi"}
drawSummaryRatioWith(surveyData, quest10Var, ans10Label)
[3, 1, 2, 4]
So sánh với: 1. Giới tính
So sánh với: 2. Nhóm tuổi
So sánh với: 3. Công việc
So sánh với: 4. Đã từng nhận lời ngỏ ý giúp đỡ hoặc tặng quà?
So sánh với: 4.1.B Sẽ nhận trong hoàn cảnh khó khăn?
So sánh với: 6. Nhận ly sinh tố?
So sánh với: 11. Bạn sẽ phản ứng như thế nào?
So sánh với: 12. Bạn sẽ làm gì?

Phân tích mô tả tổng hợp

Phân tích mô tả giữa các câu hỏi:

  • "6. Nhận ly sinh tố?"
  • "1. Giới tính"
  • "4. Đã từng nhận lời ngỏ ý giúp đỡ hoặc tặng quà?"
  • "6.1 Số lượng vé sẵn lòng mua"
In [23]:
sns.catplot(x="1. Giới tính", y="6.1 Số lượng vé sẵn lòng mua",
                hue="4. Đã từng nhận lời ngỏ ý giúp đỡ hoặc tặng quà?", col="6. Nhận ly sinh tố?",
                data=surveyData, kind="box",
                height=10, aspect=.8);

Các phân tích kỹ thuật

Mối tương quan giữa các biến trong mô hình

In [24]:
corr = surveyDataAll.corr()
corr
Out[24]:
1. Giới tính 2. Nhóm tuổi 3. Công việc 4. Đã từng nhận lời ngỏ ý giúp đỡ hoặc tặng quà? 4.1.A Tìm cách đến đáp họ 4.1.B Sẽ nhận trong hoàn cảnh khó khăn? 5. Cho ai đó trước khi nhờ vả 6. Nhận ly sinh tố? 7. Thiện cảm 7. Trách nhiệm 7. Tài năng 7. Con ông cháu cha 8. Mức độ mua sản phẩm mì nổi tiếng khi vừa ra mắt 9. Mức độ mua sản phẩm mì nổi tiếng khi vừa ra mắt + được mời dùng thử 10. Mời các bạn một chầu ăn trước ngày ứng cử vào vị trí trưởng clb 11. Bạn sẽ phản ứng như thế nào? 12. Bạn sẽ làm gì? 6.1 Số lượng vé sẵn lòng mua
1. Giới tính 1.000000 -0.047927 0.071949 0.104987 0.091514 0.054068 0.113866 0.132874 0.016825 0.052722 0.054237 -0.097727 -0.061425 -0.029996 -0.139861 -0.135640 0.086620 0.009068
2. Nhóm tuổi -0.047927 1.000000 -0.712631 0.223488 -0.028363 0.020456 0.030982 0.148319 0.087339 0.132280 -0.083095 -0.125886 0.112322 0.288450 0.213510 0.092549 0.063852 0.108656
3. Công việc 0.071949 -0.712631 1.000000 -0.118647 0.117554 -0.000274 -0.036263 -0.036769 -0.075160 -0.061528 0.125116 0.025327 -0.143505 -0.265476 -0.174325 -0.068046 -0.029242 -0.113185
4. Đã từng nhận lời ngỏ ý giúp đỡ hoặc tặng quà? 0.104987 0.223488 -0.118647 1.000000 0.079229 0.541020 0.055167 0.388036 -0.113484 0.074082 0.071088 -0.020227 -0.044578 -0.048362 0.023925 -0.003058 -0.198464 -0.120281
4.1.A Tìm cách đến đáp họ 0.091514 -0.028363 0.117554 0.079229 1.000000 -0.114750 0.339673 0.051113 0.072239 0.083952 0.015788 -0.142771 0.229616 0.166383 0.090917 0.045947 -0.149013 0.153849
4.1.B Sẽ nhận trong hoàn cảnh khó khăn? 0.054068 0.020456 -0.000274 0.541020 -0.114750 1.000000 -0.100460 0.272889 -0.110422 -0.045353 0.075911 0.075841 -0.126333 -0.188161 -0.023252 0.038941 -0.061370 -0.110339
5. Cho ai đó trước khi nhờ vả 0.113866 0.030982 -0.036263 0.055167 0.339673 -0.100460 1.000000 0.005239 0.074722 0.044245 -0.013405 -0.090035 0.015182 0.108671 0.191178 0.036678 -0.015402 0.150110
6. Nhận ly sinh tố? 0.132874 0.148319 -0.036769 0.388036 0.051113 0.272889 0.005239 1.000000 -0.041257 0.065934 0.027264 -0.041692 -0.056370 -0.032738 -0.001652 -0.005484 -0.047113 -0.051910
7. Thiện cảm 0.016825 0.087339 -0.075160 -0.113484 0.072239 -0.110422 0.074722 -0.041257 1.000000 -0.060073 -0.614026 -0.337057 0.216271 0.240449 0.256285 0.002725 0.136900 0.055634
7. Trách nhiệm 0.052722 0.132280 -0.061528 0.074082 0.083952 -0.045353 0.044245 0.065934 -0.060073 1.000000 -0.093474 -0.737932 -0.025730 0.162774 0.146027 -0.038905 0.025576 0.043827
7. Tài năng 0.054237 -0.083095 0.125116 0.071088 0.015788 0.075911 -0.013405 0.027264 -0.614026 -0.093474 1.000000 -0.126874 -0.143060 -0.251035 -0.202463 -0.058877 -0.104917 0.003470
7. Con ông cháu cha -0.097727 -0.125886 0.025327 -0.020227 -0.142771 0.075841 -0.090035 -0.041692 -0.337057 -0.737932 -0.126874 1.000000 -0.054677 -0.158574 -0.192078 0.073065 -0.060117 -0.085948
8. Mức độ mua sản phẩm mì nổi tiếng khi vừa ra mắt -0.061425 0.112322 -0.143505 -0.044578 0.229616 -0.126333 0.015182 -0.056370 0.216271 -0.025730 -0.143060 -0.054677 1.000000 0.570931 0.344401 -0.022778 0.044289 0.119584
9. Mức độ mua sản phẩm mì nổi tiếng khi vừa ra mắt + được mời dùng thử -0.029996 0.288450 -0.265476 -0.048362 0.166383 -0.188161 0.108671 -0.032738 0.240449 0.162774 -0.251035 -0.158574 0.570931 1.000000 0.410715 -0.064159 0.112883 0.165853
10. Mời các bạn một chầu ăn trước ngày ứng cử vào vị trí trưởng clb -0.139861 0.213510 -0.174325 0.023925 0.090917 -0.023252 0.191178 -0.001652 0.256285 0.146027 -0.202463 -0.192078 0.344401 0.410715 1.000000 0.104746 0.132747 0.101484
11. Bạn sẽ phản ứng như thế nào? -0.135640 0.092549 -0.068046 -0.003058 0.045947 0.038941 0.036678 -0.005484 0.002725 -0.038905 -0.058877 0.073065 -0.022778 -0.064159 0.104746 1.000000 0.030065 0.067957
12. Bạn sẽ làm gì? 0.086620 0.063852 -0.029242 -0.198464 -0.149013 -0.061370 -0.015402 -0.047113 0.136900 0.025576 -0.104917 -0.060117 0.044289 0.112883 0.132747 0.030065 1.000000 -0.009499
6.1 Số lượng vé sẵn lòng mua 0.009068 0.108656 -0.113185 -0.120281 0.153849 -0.110339 0.150110 -0.051910 0.055634 0.043827 0.003470 -0.085948 0.119584 0.165853 0.101484 0.067957 -0.009499 1.000000
In [25]:
# Transform it in a links data frame (3 columns only):
links = corr.stack().reset_index()
links.columns = ['var1', 'var2','value']
links
Out[25]:
var1 var2 value
0 1. Giới tính 1. Giới tính 1.000000
1 1. Giới tính 2. Nhóm tuổi -0.047927
2 1. Giới tính 3. Công việc 0.071949
3 1. Giới tính 4. Đã từng nhận lời ngỏ ý giúp đỡ hoặc tặng quà? 0.104987
4 1. Giới tính 4.1.A Tìm cách đến đáp họ 0.091514
... ... ... ...
319 6.1 Số lượng vé sẵn lòng mua 9. Mức độ mua sản phẩm mì nổi tiếng khi vừa ra... 0.165853
320 6.1 Số lượng vé sẵn lòng mua 10. Mời các bạn một chầu ăn trước ngày ứng cử ... 0.101484
321 6.1 Số lượng vé sẵn lòng mua 11. Bạn sẽ phản ứng như thế nào? 0.067957
322 6.1 Số lượng vé sẵn lòng mua 12. Bạn sẽ làm gì? -0.009499
323 6.1 Số lượng vé sẵn lòng mua 6.1 Số lượng vé sẵn lòng mua 1.000000

324 rows × 3 columns

In [26]:
# Keep only correlation over a threshold and remove self correlation (cor(A,A)=1)
links_filtered=links.loc[ (links['value'] > 0.2) & (links['var1'] != links['var2']) ]
links_filtered
Out[26]:
var1 var2 value
21 2. Nhóm tuổi 4. Đã từng nhận lời ngỏ ý giúp đỡ hoặc tặng quà? 0.223488
31 2. Nhóm tuổi 9. Mức độ mua sản phẩm mì nổi tiếng khi vừa ra... 0.288450
32 2. Nhóm tuổi 10. Mời các bạn một chầu ăn trước ngày ứng cử ... 0.213510
55 4. Đã từng nhận lời ngỏ ý giúp đỡ hoặc tặng quà? 2. Nhóm tuổi 0.223488
59 4. Đã từng nhận lời ngỏ ý giúp đỡ hoặc tặng quà? 4.1.B Sẽ nhận trong hoàn cảnh khó khăn? 0.541020
61 4. Đã từng nhận lời ngỏ ý giúp đỡ hoặc tặng quà? 6. Nhận ly sinh tố? 0.388036
78 4.1.A Tìm cách đến đáp họ 5. Cho ai đó trước khi nhờ vả 0.339673
84 4.1.A Tìm cách đến đáp họ 8. Mức độ mua sản phẩm mì nổi tiếng khi vừa ra... 0.229616
93 4.1.B Sẽ nhận trong hoàn cảnh khó khăn? 4. Đã từng nhận lời ngỏ ý giúp đỡ hoặc tặng quà? 0.541020
97 4.1.B Sẽ nhận trong hoàn cảnh khó khăn? 6. Nhận ly sinh tố? 0.272889
112 5. Cho ai đó trước khi nhờ vả 4.1.A Tìm cách đến đáp họ 0.339673
129 6. Nhận ly sinh tố? 4. Đã từng nhận lời ngỏ ý giúp đỡ hoặc tặng quà? 0.388036
131 6. Nhận ly sinh tố? 4.1.B Sẽ nhận trong hoàn cảnh khó khăn? 0.272889
156 7. Thiện cảm 8. Mức độ mua sản phẩm mì nổi tiếng khi vừa ra... 0.216271
157 7. Thiện cảm 9. Mức độ mua sản phẩm mì nổi tiếng khi vừa ra... 0.240449
158 7. Thiện cảm 10. Mời các bạn một chầu ăn trước ngày ứng cử ... 0.256285
220 8. Mức độ mua sản phẩm mì nổi tiếng khi vừa ra... 4.1.A Tìm cách đến đáp họ 0.229616
224 8. Mức độ mua sản phẩm mì nổi tiếng khi vừa ra... 7. Thiện cảm 0.216271
229 8. Mức độ mua sản phẩm mì nổi tiếng khi vừa ra... 9. Mức độ mua sản phẩm mì nổi tiếng khi vừa ra... 0.570931
230 8. Mức độ mua sản phẩm mì nổi tiếng khi vừa ra... 10. Mời các bạn một chầu ăn trước ngày ứng cử ... 0.344401
235 9. Mức độ mua sản phẩm mì nổi tiếng khi vừa ra... 2. Nhóm tuổi 0.288450
242 9. Mức độ mua sản phẩm mì nổi tiếng khi vừa ra... 7. Thiện cảm 0.240449
246 9. Mức độ mua sản phẩm mì nổi tiếng khi vừa ra... 8. Mức độ mua sản phẩm mì nổi tiếng khi vừa ra... 0.570931
248 9. Mức độ mua sản phẩm mì nổi tiếng khi vừa ra... 10. Mời các bạn một chầu ăn trước ngày ứng cử ... 0.410715
253 10. Mời các bạn một chầu ăn trước ngày ứng cử ... 2. Nhóm tuổi 0.213510
260 10. Mời các bạn một chầu ăn trước ngày ứng cử ... 7. Thiện cảm 0.256285
264 10. Mời các bạn một chầu ăn trước ngày ứng cử ... 8. Mức độ mua sản phẩm mì nổi tiếng khi vừa ra... 0.344401
265 10. Mời các bạn một chầu ăn trước ngày ứng cử ... 9. Mức độ mua sản phẩm mì nổi tiếng khi vừa ra... 0.410715
In [27]:
# Build your graph
G=nx.from_pandas_edgelist(links_filtered, 'var1', 'var2')
 
# Plot the network:
plt.figure(4, figsize=(30,30))
nx.draw(G, with_labels=True, node_color='orange', node_size=800, edge_color='black', linewidths=40, font_size=20)

Biểu đồ thể hiện độ tương quan giữa các biến ("câu hỏi") trong mô hình

In [28]:
flights = links.pivot("var1", "var2", "value")

# Draw a heatmap with the numeric values in each cell
f, ax = plt.subplots(figsize=(16, 9))
sns.heatmap(flights, annot=True, fmt='.2f', linewidths=.5, ax=ax)
Out[28]:
<matplotlib.axes._subplots.AxesSubplot at 0x1d397ba3c48>
In [29]:
%%node
var tesaaa = 'hello'
In [30]:
display(surveyData)
In [ ]: